HTML 5: это br или gt; br или?

Я бы использовал .*. . соответствует любому символу, * означает 0 или более случаев. Вам может понадобиться переключатель DOTALL в регулярное выражение для захвата новых строк с помощью ..

1904
задан BoltClock 16 June 2017 в 16:23
поделиться

6 ответов

Достаточно просто
.

Для совместимость с XHTML; чтобы можно было написать тот же код, что и XHTML, и заставить его работать как HTML. Некоторые системы, генерирующие HTML, могут быть основаны на генераторах XML и, следовательно, не имеют возможности выводить только пустой тег
; если вы используете такую ​​систему, можно использовать
, но в этом нет необходимости, если вам это не нужно.

Однако очень немногие люди действительно используют XHTML. Вам необходимо предоставить свой контент как application / xhtml + xml , чтобы он интерпретировался как XHTML, и это не будет работать в старых версиях IE - это также будет означать, что любая небольшая ошибка, которую вы сделаете, предотвратит отображение вашей страницы в браузерах, которые поддерживают XHTML. Итак, большая часть того, что выглядит как XHTML в Интернете, на самом деле обслуживается и интерпретируется как HTML. См. Обслуживание XHTML как text / html считается вредным для получения дополнительной информации.

1475
ответ дан 22 November 2019 в 20:02
поделиться

Если вас интересует сопоставимость (не совместимость, а сопоставимость), я бы остановился на
.

В противном случае
в порядке.

14
ответ дан 22 November 2019 в 20:02
поделиться

Согласно спецификации ожидаемая форма
для HTML 5, но закрывающая косая черта разрешена.

55
ответ дан 22 November 2019 в 20:02
поделиться

XML требует, чтобы все теги имели соответствующий закрывающий тег. Таким образом, существует специальный сокращенный синтаксис для тегов без внутреннего содержимого.

HTML5 не является XML, поэтому он не должен выдвигать такое требование. Как и HTML 4.01.

Например, в спецификациях HTML5 все примеры с тегом br используют синтаксис
, а не
.

UPD Фактически,
разрешено в HTML5 . 9.1.2.1, 7.

не
.

UPD Фактически,
разрешено в HTML5 . 9.1.2.1, 7.

не
.

UPD Фактически,
разрешено в HTML5 . 9.1.2.1, 7.

20
ответ дан 22 November 2019 в 20:02
поделиться

XML не позволяет оставлять теги открытыми, поэтому он делает
немного хуже, чем два других. Два других примерно эквивалентны второму (
), предпочтительному для совместимости со старыми браузерами. На самом деле, пробел перед / предпочтительнее для совместимости, но я думаю, что это имеет смысл только для тегов, у которых есть атрибуты. Поэтому я бы сказал либо
, либо
, в зависимости от того, что нравится вашей эстетике.

Подводя итог: все три действительны с первым (
) немного менее «портативен».

Править : Теперь, когда мы все без ума от спецификаций, я думаю, стоит отметить, что согласно dev. w3.org :

Начальные теги состоят из следующих частей, точно в следующем порядке:

  1. Символ «<».
  2. Имя тега элемента.
  3. Необязательно, один или несколько атрибутов, каждый из которых должен быть перед одним или несколькими пробелами
  4. Необязательно, один или несколько пробелов.
  5. Необязательно, символ "/", который может присутствовать, только если element является пустым элементом.
  6. Символ ">".
133
ответ дан 22 November 2019 в 20:02
поделиться

Думаю, эта цитата из справочного проекта HTML 5 дает ответ:

3.2.2.2 Пустые элементы

Термин пустые элементы используется для обозначения элементов, которые должны быть пустыми . Эти требования относятся только к синтаксису HTML. В XHTML все такие элементы рассматриваются как обычные, но должны быть помечены как пустые элементы.

Эти элементы вообще не могут содержать какой-либо контент. В HTML эти элементы имеют только начальный тег . Может использоваться синтаксис самозакрывающегося тега . Конечный тег необходимо опустить, поскольку элемент автоматически закрывается анализатором.

Пример HTML:
Пустой элемент в синтаксисе HTML. Это запрещено в синтаксисе XHTML.

 

Пример:
Элемент void, использующий синтаксис самозакрывающегося тега, совместимого с HTML и XHTML.

 

Пример XHTML:
Элемент void, использующий синтаксис только для XHTML с явным конечным тегом. Это не разрешено для пустых элементов в синтаксисе HTML.

 
217
ответ дан 22 November 2019 в 20:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: