Преобразование в HTML-объекты

Несмотря на то что кодирование данных при передаче между HTML-формами, базами данных и так далее чрезвычайно полезно, в РНР поддерживается несколько более простых (и очень удобных) преобразований. В качестве иллюстрации предположим, что нужно отобразить в браузере следуюотую строку:
<А HREF=”example.php”>Пример НТМЬ-дескрипгора
Хитрость здесь в том, что нужно отобразить эту строку в браузере клиента так, как она выглядит в примере (а не как гиперссылку). Для таких целей, когда нужно отобразить символы, имеющие особое значение в HTML, существуют HTML-объекты. Эти объекты являются специальными строками, которые браузер интерпретирует как символы. Например, sit; — это объектное представление символа С Таким образом, для того чтобы предыдущий HTML-код был отображен как текст и не интерпретировался браузером, он должен выглядеть примерно так:
ilt;A HREF=5quot;example.php”Sgt;Пример HTML-flecKpHnTOpa</Aigt;
Несмотря на то что это не особо отличается от URL-кодирования, попытка преоб разования этих HTML-объектов вручную является довольно-таки утомительной задачей. К счастью, в РНР для выполнения этой задачи предусмотрены две функции.
Первая из этих функций — htmlentities (). Эта функция преобразовывает все применимые символы в соответствующие HTML-объекты. Функция имеет следующий синтаксис:
htmlentities(Sstring [, Squote_style [, Schar_set]])
где Sstring — строка для преобразования, Squote_style — флаг, определяющий, Как трактовать символ кавычек (одиночные или двойные), и $char_set — строка, представляющая кодовую таблицу, используемую во время преобразования. Возможные значения для параметра $quote_style перечислены в табл. 5.1,
Таблица 5.1. Флаги стиля кавычек для функции htmlentities ()
Флаг Описание
ENT СОМРАТ ENT_QUOTES ENT_NOQOuTES Преобразует только символы двойных кавычек (по умолчанию). Преобразует символы одиночных и двойных кавычек. Оставляет все символы кавычек как есть.
Функция htmlentities {) преобразует и возвращает символы, представленные в $string, в соответствующие HTML-объекты (если это возможно). Например, при выполнении следующего фрагмента кода:
\”Jack & Jill\n”); ?> вывод будет следующим:
Slt;A HREF=’foo’Sgt;Squot;Jack & Jillsquot;Sit;/Abgt;
Иногда нет необходимости преобразовывать все символы, имеювнте эквивалентные HTML-объекты, в объектную форму. Обычно существует несколько отдельных символов, которые нужно преобразовать в текст, не интерпретируемый браузером как Использование PHP для разработки Web-приложений_
_1 Часть!
HTML-код. Для таких случаев в РНР предусмотрена версия функции htmlentities (), которая преобразует только следующие символы: “, ‘, < и >. Эта функция называется htmlspecialchars () и имеет следующий синтаксис:
htmlspecialchars(Sstring [, Squote_style [, $char_set]])
Как и в htmlentities (}, $string — это строка для преобразования, $quote_style — флаг, определяющий, как будут обрабатываться кавычки (возможные значения представлены в табл. 5.1), и $char_set — кодовая таблица, используемая при преобразовании.

Tags: , ,

Related posts


Leave a Reply


клининговая компания СитиКлин