Запрещенные символы html: HTML Специальные символы

Недопустимые символы | Литералы | bookhtml.ru

Давайте откроем Web-страницу t_title.htm и посмотрим на код приведенного там примера использования тега <TITLE>. Чего там не хватает? Правильно — символов < и >, с помощью которых и создается тег HTML. Эти символы являются недопустимыми и не должны встречаться в обычном тексте. Мы заменили их восклицательными знаками, но код стал от этого выглядеть просто ужасно.

Так есть ли способ все-таки поместить в обычный текст недопустимые символы? Есть, и весьма изящный.

Создатели HTML решили, что, если уж напрямую эти символы вставить в текст нельзя, значит, их нужно заменить на особую последовательность символов, называемую литералом. Встретив литерал, Web-обозреватель «поймет», что здесь дол-жен присутствовать соответствующий недопустимый символ, и выведет его на Web-страницу.

Литералы HTML начинаются с символа & и заканчиваются символом ; (точка с запятой). Между ними помещается определенная последовательность букв. Так, символ < определяется литералом &lt;, а символ > — литералом &gt;

Сразу же исправим код примера (листинг 3.4).

Откроем исправленную Web-страницу в Web-обозревателе. Вот теперь теги в примере отображаются со всеми положенными символами < и >!

Литералов в HTML довольно много. Самые часто применяемые из них перечислены в табл. 3.2.

Среди перечисленных в табл. 3.2 литералов и обозначаемых ими недопустимых символов особенно выделяется один. Это неразрывный пробел, обозначаемый литералом &nbsp;. По этому пробелу Web-обозреватель никогда не будет выполнять перенос строк.

Неразрывный пробел необходим, если в каком-то месте предложения перенос строк никогда не должен выполняться.

Так, правила правописания русского языка не допускают перенос строк перед длинным тире. Поэтому крайне рекомендуется отделять длинное тире от предыдущего слова неразрывным пробелом:

<P>Неразрывный пробел&nbsp;&mdash; очень важный литерал.<P>

Здесь литерал &nbsp; создает неразрывный пробел, а литерал &mdash; — длинное тире.

Кстати, если уж на то пошло, мы можем в сведениях об авторских правах вставить символ ©. Вот так:

<ADDRESS>Все права защищены.<BR>&copy; читатели, 2010 год.</ADDRESS>

HTML также позволяет вставить в текст любой символ, поддерживаемый кодировкой Unicode, просто указав его код. Для этого предусмотрен литерал вида

&#<десятичный код символа>;.

Но как узнать код нужного символа? Очень просто. В этом нам поможет утилита Таблица символов, поставляемая в составе Windows. Давайте запустим ее и посмотрим на ее окно (рис. 3.2).

В большом списке символов, занимающем почти все окно этой утилиты, выберем нужный нам символ. После этого посмотрим на строку статуса, расположенную вдоль нижнего края окна. В правой ее части находится надпись вида Клавиша: Alt+<десятичный код символа>. Этот-то код нам и нужен!

ВНИМАНИЕ!

Надпись Клавиша: Alt+<десятичный код символа> появляется в строке статуса окна Таблица символов только при выборе символов, которые нельзя ввести непосредственно с клавиатуры.

Так, мы можем вставить в сведения об авторских правах символ ©, использовав литерал &#0169;, где 0169 — десятичный код данного символа (см. рис. 3.2):

<ADDRESS>Все права защищены.<BR>&#0169; читатели, 2010 год.</ADDRESS>

 

Вставка недопустимых символов.

Литералы. HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов.

Вставка недопустимых символов. Литералы

Давайте откроем Web-страницу t_title.htm и посмотрим на код приведенного там примера использования тега <TITLE>. Чего там не хватает? Правильно — символов < и >, с помощью которых и создается тег HTML. Эти символы являются недопустимыми и не должны встречаться в обычном тексте. Мы заменили их восклицательными знаками, но код стал от этого выглядеть просто ужасно.

Так есть ли способ все-таки поместить в обычный текст недопустимые символы? Есть, и весьма изящный.

Создатели HTML решили, что, если уж напрямую эти символы вставить в текст нельзя, значит, их нужно заменить на особую последовательность символов, называемую

литералом. Встретив литерал, Web-обозреватель «поймет», что здесь должен присутствовать соответствующий недопустимый символ, и выведет его на Web-страницу.

Литералы HTML начинаются с символа & и заканчиваются символом; (точка с запятой). Между ними помещается определенная последовательность букв. Так, символ < определяется литералом &lt;, а символ > — литералом &gt;.

Сразу же исправим код примера (листинг 3.4).

Листинг 3.4

<!DOCTYPE html>

<HTML>

.

<BODY>

.

<H6>Пример:</H6>

<PRE>&lt;HEAD&gt;

&lt;TITLE&gt;Я — заголовок Web-страницы&lt;/TITLE&gt;

&lt;HEAD&gt;</PRE>

.

</BODY>

</HTML>

Откроем исправленную Web-страницу в Web-обозревателе. Вот теперь теги в примере отображаются со всеми положенными символами < и >!

Литералов в HTML довольно много. Самые часто применяемые из них перечислены в табл. 3.2.

Недопустимый символ Литерал HTML — (длинное тире) &mdash; — (короткое тире) &ndash; » &quot; & &amp; < &lt; > &gt; © &copy; ® &reg; Левая двойная кавычка &ldquo; Левая угловая кавычка &laquo; Левый апостроф &lsquo; Многоточие &hellip; Неразрывный пробел &nbsp; Правая двойная кавычка &rdquo; Правая угловая кавычка &raquo; Правый апостроф &rsquo; Символ евро &euro;

Среди перечисленных в табл. 3.2 литералов и обозначаемых ими недопустимых символов особенно выделяется один. Это неразрывный пробел, обозначаемый литералом &nbsp;. По этому пробелу Web-обозреватель никогда не будет выполнять перенос строк.

Неразрывный пробел необходим, если в каком-то месте предложения перенос строк никогда не должен выполняться. Так, правила правописания русского языка не допускают перенос строк перед длинным тире. Поэтому крайне рекомендуется отделять длинное тире от предыдущего слова неразрывным пробелом:

<P>Неразрывный пробел&nbsp;&mdash; очень важный литерал.<P>

Здесь литерал &nbsp; создает неразрывный пробел, а литерал &mdash; — длинное тире.

Кстати, если уж на то пошло, мы можем в сведениях об авторских правах вставить символ ©. Вот так:

<ADDRESS>Все права защищены.<BR>&copy; читатели, 2010 год.</ADDRESS>

HTML также позволяет вставить в текст любой символ, поддерживаемый кодировкой Unicode, просто указав его код.  Для этого предусмотрен литерал вида

&#<десятичный код символа>

;.

Но как узнать код нужного символа? Очень просто. В этом нам поможет утилита Таблица символов, поставляемая в составе Windows. Давайте запустим ее и посмотрим на ее окно (рис. 3.2).

Рис. 3.2. Окно утилиты Таблица символов (выбран символ ©)

В большом списке символов, занимающем почти все окно этой утилиты, выберем нужный нам символ. После этого посмотрим на строку статуса, расположенную вдоль нижнего края окна. В правой ее части находится надпись вида Клавиша: Alt+<десятичный код символа>. Этот-то код нам и нужен!

ВНИМАНИЕ!

Надпись Клавиша: Alt+<десятичный код символа> появляется в строке статуса окна Таблица символов только при выборе символов, которые нельзя ввести непосредственно с клавиатуры.

Так, мы можем вставить в сведения об авторских правах символ ©, использовав литерал &#0169;, где 0169 — десятичный код данного символа (см.

рис. 3.2):

<ADDRESS>Все права защищены.<BR>&#0169; читатели, 2010 год.</ADDRESS>

Вот и все о литералах HTML. Да и об оформлении текстов тоже.

Что дальше?

В этой главе мы продолжили работу с текстом. Мы научились выделять его фрагменты, придавая им особое значение и привлекая к ним внимание посетителя. Также мы научились разрывать строки абзацев и вставлять в текст недопустимые символы, используя литералы HTML. Все это нам пригодится в дальнейшем.

Фактически мы рассмотрели все средства HTML для работы с текстом. В следующей главе мы займемся графикой и мультимедиа. Мы научимся помещать на Web- страницы изображения, аудио и видеоролики. И помогут нам в этом новые возможности HTML 5.

Данный текст является ознакомительным фрагментом.

Вставка

Вставка Редко какой документ состоит только из текста – как правило, его сопровождают рисунки, фотографии, а в случае работы с онлайновым пакетом так и хочется вставить пару гиперссылок! Не нужно сопротивляться своим желаниям – ссылки вставляются в редактируемый

Вставка недопустимых символов.

Литералы

Вставка недопустимых символов. Литералы Давайте откроем Web-страницу t_title.htm и посмотрим на код приведенного там примера использования тега &lt;TITLE&gt;. Чего там не хватает? Правильно — символов &lt; и &gt;, с помощью которых и создается тег HTML. Эти символы являются недопустимыми и

Вставка

Вставка Приступим к рассмотрению вкладки Вставка (рис. 1.47). Рис. 1.47. Вкладка Вставка Как вы все уже догадались, инструменты этой вкладки позволяют вставить что-нибудь в текст

Вставка символов

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

R.

2.5 Литералы

R.2.5 Литералы Есть несколько видов литералов (часто называемых «константами»).литерал: целая константа символьная константа константа с плавающей точкой строка

Определение класса символов и преобразование символов

Определение класса символов и преобразование символов Функция Краткое описание isalnum проверка на букву или цифру isalpha проверка на букву isascii проверка на символ из набора кодировки ASCII iscntrl проверка на управляющий символ isdigit проверка на десятичную

Литералы даты

Литералы даты Литералы даты являются «читаемыми человеком» строками, заключенными в апострофы. Их сервер Firebird распознает как константы даты или даты-и-времени для EXTRACT и других выражений, операций INSERT и UPDATE, а также в предложении WHERE оператора SELECT. Литералы даты

Литералы месяца

Литералы месяца В табл. 10.4 показаны литералы месяцев.Таблица 10.4. Литералы месяцев и правильное английское написание Число Аббревиатура (не чувствительно к регистру) Полное название месяца (не чувствительно к

Вставка в формулу нематематических символов

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

13.3.6. Вставка специальных символов

13.3.6. Вставка специальных символов Вам нужно вставить в текст специальный символ, например изображение телефона? Выполните команду Вставка, Символ (рис.  120). Окно символов позволяет вставить в текущую позицию курсора любой символ любого шрифта. Шрифт Webdings содержит очень

Вставка символов

Вставка символов Если вы хотите напечатать знак, которого нет на клавиатуре (?, ?, ?, ?, €, ® и т. п.), открываете меню Вставка и выбираете Символ. Перед вами откроется окно, в котором выбираете необходимые символы и нажимаете кнопку Вставить.Теперь потренируйтесь в наборе

xhtml — Что такое зарезервированные символы в (X)HTML?

спросил

Изменено 2 года, 8 месяцев назад

Просмотрено 7к раз

Да, я погуглил и на удивление получил запутанные ответы.

На одной странице написано, что < > & " — единственные зарезервированные символы в (X)HTML. Без сомнения, это имеет смысл.

На этой странице написано < > & " ' — зарезервированные символы в (X)HTML. Немного сбивает с толку, но ладно, это тоже имеет смысл.

А затем идет эта страница, на которой написано < > & " © ° £ и неразрывный пробел (   ) являются зарезервированными символами в (X)HTML. Это не имеет никакого смысла и в значительной степени добавляет мне путаницы.

Может кто-нибудь знающий, кто действительно разбирается в этом, прояснить, что за зарезервированных символов в (X)HTML на самом деле есть?

РЕДАКТИРОВАТЬ : Кроме того, следует ли экранировать все зарезервированные символы в коде при заключении в тег

 ? или только эти три --  < > &  ?? 

  • html
  • xhtml
  • html-сущности
  • html-кодирование

3

В спецификации XHTML 1. 0 указано на http://www.w3.org/TR/2002/REC-xhtml1-20020801/#xhtml:

XHTML 1.0 [...] представляет собой переформулировку трех типов документов HTML 4 как приложения XML 1.0 [XML].

Спецификация XML 1.0 указывает на http://www.w3.org/TR/2008/REC-xml-20081126/#syntax:

Символьные данные и разметка: текст состоит из смешанных символов данные и разметка. [...] Символ амперсанда ( и ) и левый угол квадратная скобка ( < ) НЕ ДОЛЖНА появляться в их буквальной форме, за исключением случаев, когда они используются как разделители разметки или внутри комментария, инструкции по обработке или раздел CDATA. Если они нужны в другом месте, они ДОЛЖНЫ быть экранированы используя либо числовые ссылки на символы, либо строки " & " и " < " соответственно. Правая угловая скобка ( > ) может быть представлена используя строку " > ", и ДОЛЖНА для совместимости быть экранирована используя " > " или ссылку на символ, когда она появляется в строка " ]]> " в содержимом, когда эта строка не отмечает конец раздел CDATA.

Это означает, что при написании текстовых частей XHTML-документа вы должен экранировать &, < и >.

Вы можете сбежать намного больше, например. ü для умляут у. Вы также можете указать, что документ закодирован, например, в UTF-8, и вместо этого написать последовательность байтов 0xc3bc, чтобы получить тот же умлаут u.

При написании частей элементов (столбцов "теги") документа действуют другие правила. Вы должны позаботиться о «, ' и множестве правил, касающихся комментариев, CDATA и т. д. Существуют также правила, какие символы можно использовать в именах элементов и атрибутов. Вы можете посмотреть их в спецификации XML, но в В конце все сводится к следующему: для имен элементов и атрибутов используйте буквы, цифры и «-», не используйте «_».0031 должен экранировать & и (в зависимости от стиля кавычек) либо ', либо ".

Если вы используете одну из многих библиотек для написания документов XML/XHTML, кто-то уже позаботился об этом, и вам просто нужно сообщить Библиотека для записи текста или элементов Все экранирование выполняется в фоновом режиме. стиль, который вы используете для значения атрибута) также необходимо экранировать.

 

 

3

Написав "(X)HTML", вы задаете (как минимум) два разных вопроса.

По правилам HTML, где "HTML" означает любую версию HTML до HTML 4.01 включительно, зарезервированы только символы "<" и "&". Правила несколько сложны. Они не должны появляться буквально, за исключением их синтаксического использования в тегах, ссылках на сущности и ссылках на символы. Но по формальным правилам они могут появляться буквально, например. в контексте «А и В» или «А < В» (но A&B будет формально неправильным, как и A ).

Правила XHTML, основанные на XML, несколько строже, проще: "<" и "&" безусловно зарезервированы.

Знак кавычек ASCII " и апостроф ASCII ' не зарезервированы, за исключением очень конкретного смысла: значение атрибута в кавычках не должно буквально содержать символ, используемый в качестве кавычки, т. е. в "foo" строка foo не должна содержать " as такой, а в 'foo' строка foo не должна содержать ' как таковую.

3

Символы < > & " зарезервированы форматом XML.

  • Это означает, что вы можете использовать символы < и > только для определения тегов ( ).

  • Двойные кавычки (") используются для определения значений атрибутов ( )

  • Амперсанд (&) используется для записи объектов ( & используется, когда вы действительно хотите написать амперсанд, а НЕ и ). Кроме того, когда вы пишете URL-адрес в своем XML-документе, вы должны использовать & , а не только и : www.aaa.com?a=1&b=2 - неверно; www.aaa.com?a=1&b=2 - хорошо!

XHTML основан на XML, поэтому то, что я написал, применимо к XHTML.

© ° £ - Это не зарезервированные символы. Это объекты, определенные специально для XHTML, а не для XML.

В XML вы можете просто написать © . В XHMTL вы также можете просто написать © или использовать сущность © или числовой объект &00A9; .

1

В дополнение к другим ответам полезно знать, что существуют также запрещенные символы: все управляющие символы в ASCII и ISO-8859-1, кроме TAB, LF и CR.

https://www.w3.org/MarkUp/html3/specialchars.html

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Обязательно, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

escaping — Какие символы должны быть экранированы в HTML 5?

спросил

Изменено 4 года, 2 месяца назад

Просмотрено 51к раз

HTML 4 указывает, какие символы следует экранировать:

Ссылки на четырехсимвольные сущности заслуживают особого упоминания, поскольку они часто используются для экранирования специальных символов:

  • "<" представляет знак <.
  • ">" представляет знак >.
  • "&" представляет знак &.
  • "" представляет собой метку ".

Желающие авторы чтобы поместить символ "<" в текст, следует использовать "<" (десятичный код ASCII 60) чтобы избежать возможной путаницы с началом тега (начальный тег открытый разделитель). Точно так же авторы должны использовать ">" (десятичный код ASCII 62) в тексте вместо «>», чтобы избежать проблем со старыми пользовательскими агентами. которые неправильно воспринимают это как конец тега (тег закрывает разделитель), когда он появляется в значениях атрибутов в кавычках.

Авторы должны использовать "&" (десятичное число ASCII 38) вместо "&", чтобы избежать путаница с началом ссылки на символ (entity ссылка на открытый разделитель). Авторы также должны использовать "&" в значения атрибута, поскольку ссылки на символы разрешены в CDATA значения атрибутов.

Некоторые авторы используют ссылку на объект персонажа """ кодировать экземпляры двойной кавычки (""), так как этот символ может быть используется для разграничения значений атрибутов.

Я удивлен, что не могу найти ничего подобного в HTML 5. С помощью grep единственное упоминание не-XML, которое я смог найти, касается устаревшего элемента XMP:

Вместо этого используйте pre и code и экранируйте символы "<" и "&" как "<" и "&" соответственно.

Не могли бы вы как-нибудь указать на официальный источник по этому вопросу?

  • html
  • экранирование
  • html-escape-символы

5

Спецификация определяет синтаксис для обычных элементов следующим образом:

Обычные элементы могут содержать текст, ссылки на символы, другие элементы и комментарии, но текст не должен содержать символ U+003C ЗНАК МЕНЬШЕ (<) или неоднозначный амперсанд. Некоторые обычные элементы также имеют еще больше ограничений на то, какой контент им разрешено хранить, помимо ограничений, налагаемых моделью контента и описанных в этом абзаце. Эти ограничения описаны ниже.

Таким образом, вы должны экранировать < или и , если за ними следует что-либо, что может начинаться со ссылки на символ. Правило амперсандов — единственное такое правило для атрибутов в кавычках, поскольку совпадающая кавычка — единственное, что завершает их. (Очевидно, что если вы не хотите завершать здесь значение атрибута, избегайте кавычек.)

Эти правила не применяются к