Преобразуйте предопределенные символы «<» (меньше) и «>» (больше) в объекты HTML:
<?php $str = " Это какой-то <b>жирный</b> текст . " ; htmlspecialchars ( $str ) ? >;HTML-вывод приведенного выше кода выглядит следующим образом (просмотреть исходный код):
< ! html > <html> < body > Это текст, выделенный жирным шрифтом & lt ; / b & gt ; </html>Вывод приведенного выше кода в браузере выглядит следующим образом:
Это <b>жирный</b> текст.Функция htmlspecialchars() преобразует некоторые предопределенные символы в объекты HTML.
Предопределенные символы:
& (амперсанд) становится &
" (двойная кавычка) становится "
' (одинарная кавычка) становится '
< (меньше чем) становится <
> (больше чем) стать>
Совет: Чтобы преобразовать специальные объекты HTML обратно в символы, используйте функцию htmlspecialchars_decode().
htmlspecialchars( строка,флаги,набор символов,double_encode )
параметр | описывать |
---|---|
нить | Необходимый. Указывает строку, которую необходимо преобразовать. |
флаги | Необязательный. Указывает, как обрабатывать кавычки, недопустимые кодировки и какой тип документа использовать. Доступные типы котировок: ENT_COMPAT — по умолчанию. Кодируются только двойные кавычки. ENT_QUOTES — кодирует двойные и одинарные кавычки. ENT_NOQUOTES — не кодировать кавычки. Неверная кодировка: ENT_IGNORE — игнорировать недопустимые кодировки вместо того, чтобы функция возвращала пустую строку. Этого следует избегать, поскольку это может повлиять на безопасность. ENT_SUBSTITUTE — заменяет недопустимую кодировку указанного символа символом замены Unicode U+FFFD (UTF-8) или &#FFFD; вместо возврата пустой строки. ENT_DISALLOWED — заменяет недопустимые кодовые точки в указанном типе документа символами замены Юникода U+FFFD (UTF-8) или &#FFFD;. Дополнительные флаги, определяющие тип используемого документа: ENT_HTML401 — по умолчанию. Код обрабатывается как HTML 4.01. ENT_HTML5 — код обрабатывается как HTML 5. ENT_XML1 — код обрабатывается как XML 1. ENT_XHTML — как код обработки XHTML. |
набор символов | Необязательный. Строка, определяющая используемый набор символов. Допустимые значения: UTF-8 — по умолчанию. ASCII-совместимый многобайтовый 8-битный Unicode ISO-8859-1 – Западная Европа ISO-8859-15 — Западная Европа (добавлен символ евро + французские и финские буквы отсутствуют в ISO-8859-1) cp866 — набор кириллических символов, специфичный для DOS. cp1251 — набор символов кириллицы, специфичный для Windows. cp1252 — набор западноевропейских символов, специфичный для Windows. КОИ8-Р - Русский BIG5 — традиционный китайский, в основном используется на Тайване. GB2312 — упрощенный китайский, набор символов национального стандарта. BIG5-HKSCS — Big5 с расширением Гонконга Shift_JIS — японский EUC-JP – японский MacRoman — набор символов, используемый операционной системой Mac. Примечание. В версиях PHP до 5.4 нераспознанные наборы символов игнорировались и заменялись ISO-8859-1. Начиная с PHP 5.4, нераспознанные наборы символов игнорируются и заменяются UTF-8. |
двойной_кодирование | Необязательный. Логическое значение, указывающее, следует ли кодировать существующие объекты HTML. ИСТИНА — значение по умолчанию. Каждая сущность будет преобразована. ЛОЖЬ — существующие объекты HTML не будут кодироваться. |
Возвращаемое значение: | Возвращает преобразованную строку. Если строка содержит недопустимую кодировку, возвращается пустая строка, если не установлен флаг ENT_IGNORE или ENT_SUBSTITUTE. |
---|---|
PHP-версия: | 4+ |
Журнал обновлений: | В PHP 5 значение параметра набора символов по умолчанию изменилось на UTF-8. В PHP 5.4 появились новые: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 и ENT_XHTML. В PHP 5.3 был добавлен ENT_IGNORE. В PHP 5.2.3 был добавлен параметр double_encode . В PHP 4.1 был добавлен параметр набора символов . |
Преобразуйте некоторые предопределенные символы в объекты HTML:
<?php $str = " Джейн и Тарзан " echo htmlspecialchars ( $str , ENT_COMPAT ) // По умолчанию кодируются только двойные кавычки эхо " <br> " ; эхо htmlspecialchars ( $ str , ENT_QUOTES ) // Кодируем двойные и одинарные кавычки эхо " <br> " ; эхо htmlspecialchars ( $str , ENT_NOQUOTES ) // Не кодировать кавычки ?>HTML-вывод приведенного выше кода выглядит следующим образом (просмотреть исходный код):
< ! html > <html> <body> Джейн и « Тарзан » < br > Джейн и «Тарзан» < br > Джейн и « Тарзан » </ body > </html>Вывод приведенного выше кода в браузере выглядит следующим образом:
Джейн и ТарзанДжейн и ТарзанДжейн и ТарзанПреобразуйте двойные кавычки в объекты HTML:
<?php $str = ' Мне нравится " PHP " ; htmlspecialchars ( $ str , ENT_QUOTES ) // Кодируем двойные и одинарные кавычки ?> ;HTML-вывод приведенного выше кода выглядит следующим образом (просмотреть исходный код):
< ! html > <html> <body> Мне нравится & quot ; PHP & quot ; </html>Вывод приведенного выше кода в браузере выглядит следующим образом:
Я люблю «PHP».