Почему нельзя использовать "& apos;" для экранирования одинарных кавычек?
Как указано в разделе " Когда одинарные кавычки в HTML стали настолько популярными? и Jquery в кавычках в атрибуте, запись в Википедии о HTML говорит следующее:
Символ одинарной кавычки ('), когда он используется для цитирования значения атрибута, также должен быть экранирован как
'
или же'
(НЕ должен быть экранирован как'
кроме как в документах XHTML), когда оно появляется внутри самого значения атрибута.
Почему не стоит '
использоваться? Также является "
безопасно использовать вместо "
?
5 ответов
"
находится в официальном списке допустимых объектов HTML 4, но '
не является.
С С.16. Ссылка на именованный символ ':
Ссылка на именованный символ
'
(апостроф U+0027) был введен в XML 1.0, но не появился в HTML. Поэтому авторы должны использовать'
вместо'
работать как ожидается в HTML 4 пользовательских агентов.
'
не является частью стандарта HTML 4.
"
Это, тем не менее, так хорошо в использовании.
Если вам нужно написать семантически правильную разметку, даже в HTML5, вы не должны использовать '
избежать одинарных кавычек. Хотя, я могу представить, что вы на самом деле имели в виду апостроф, а не одиночную кавычку.
одиночные кавычки и апострофы не являются семантически одинаковыми, хотя они могут выглядеть одинаково.
Вот один апостроф.
использование ’
вставить его, если вам нужна поддержка HTML4.
В британском английском одинарные кавычки используются так:
"Он сказал мне" попробовать ", - сказал я.
Цитаты идут парами. Ты можешь использовать:
<p><q>He told me to <q>give it a try</q></q>, I said.<p>
иметь вложенные кавычки семантически правильным способом, откладывая замену фактических символов в механизм рендеринга. Эта замена может быть затронута правилами CSS, такими как:
q {
quotes: '"' '"' '<' '>';
}
Старая, но все еще актуальная статья о семантически правильной разметке: проблема с EM 'n EN (и другими неясными персонажами).
Если вам действительно нужны одинарные кавычки, апострофы, вы можете использовать
html | numeric | hex
‘ | ‘ | ‘ // for the left/beginning single-quote and
’ | ’ | ’ // for the right/ending single-quote
В моем случае это была ошибка, когда я пытался использовать цитату в тексте Time's up!
. Есть предупреждение от Эслинта.
Чтобы исправить это, я заменил цитату на Time's up!
. Результат ожидаемый