Выбрать главу

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

Давайте откроем 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+<десятичный код символа> появляется в строке статуса окна Таблица символов только при выборе символов, которые нельзя ввести непосредственно с клавиатуры.