Что же делать, если нужно вставить в HTML-документ текст, в котором важно сохранить хотя бы разрывы строк в определенных автором местах, например текст какой-то программы? Рассмотрим пример 3.4.
<TITLE>Текст программы (оригинал)</TITLE>
<BODY>
function fact(int num):int
if (num>0)
return fact(num–1)*num;
else
return 1;
end if
end function
</BODY>
При обработке приведенного кода браузер покажет весь текст, расположенный в элементе BODY, в одну строку так, как показано на рис. 3.4.
Рис. 3.4. Страница с текстом программы (оригинал)
Как видно, браузер проигнорировал все символы перевода строки, которые были в первоначальном тексте HTML-документа, и выполнил автоматический перенос непомещающихся строк.
Для принудительного перехода на следующую строку в нужных местах текста можно использовать элемент BR, который задается одиночным тегом <BR>. Именно этот тег и использовался для повышения наглядности предыдущих примеров. Тег <BR> можно вставлять в любом месте текста, в данном случае (пример 3.5) этот тег логично вставить в конце каждой строки программы.
<TITLE>Текст программы (с разрывами строк)</TITLE>
<BODY>
function fact(int num):int<BR>
if (num>0)<BR>
return fact(num–1)*num;<BR>
else <BR>
return 1;<BR>
end if <BR>
end function<BR>
</BODY>
Результат обработки этого варианта HTML-кода приведен на рис. 3.5.
Рис. 3.5. Использование разрывов строк
Как видно, браузер разорвал строки в указанных в тексте HTML-документа местах. Как и ранее, браузером проигнорированы все отступы (пробелы слева, показывающие уровни вложенности инструкций программы). Кроме того, если уменьшить ширину окна, то непомещающийся текст будет снова автоматически перенесен на следующие строки.
Для обычного текста использования <BR> вполне хватает. Однако в данном примере рассматривается программа, а не обычный текст. Чтобы полностью сохранить исходное форматирование текста (с учетом всех отступов), можно применить элемент PRE. Этот элемент задается парными тегами <PRE> и </PRE>. Браузер учитывает все символы, которые встречаются в тексте HTML-документа, и выводит их на экран. Пример 3.6 иллюстрирует использование элемента PRE для сохранения оригинального форматирования текста.
<TITLE>Текст программы (PRE)</TITLE>
<BODY>
<PRE>
function fact(int num):int
if (num>0)
return fact(num–1)*num;
else
return 1;
end if
end function
</PRE>
</BODY>
Результат обработки кода примера 3.6 приведен на рис. 3.6.
Рис. 3.6. Текст с полным сохранением форматирования
Если внимательно посмотреть на рисунок, то можно заметить, что текст отображается моноширинным шрифтом. Таков побочный эффект