ProfiPHPProfiPHP
Категория: Функции обработки строк

Функция Htmlspecialchars

Функция Htmlspecialchars преобразует специальные символы в HTML-сущности.
string htmlspecialchars( string $string [, int $flags [, string $encoding [, bool $double_encode = true ]]] )
Для сохранения значений HTML сущностей необходимо преобразовать некоторые символы, которые имеют особый смысл. Для этого используйте функцию Htmlspecialchars, которая производит преобразования сисвола & в &amp;, двойных кавычкек в &quot;, одинарных кавычек в &#039; или &apos;, символ < в &lt; и символ > в &gt;.

Параметр String должен содержать конвертируемую строку (string).

Параметр Flags являет собой битовую маску флагов, определяющих режим обработки кавычек, некорректных кодовых последовательностей и используемый тип документа. По умолчанию используется ENT_COMPAT | ENT_HTML401.

Доступные значения параметра Flags:

ENT_COMPAT - Преобразует двойные кавычки, одинарные кавычки не изменяются.

ENT_QUOTES - Преобразует как двойные, так и одинарные кавычки.

ENT_NOQUOTES - Оставляет без изменения как двойные, так и одинарные кавычки.

ENT_IGNORE - Без всяких уведомительных сообщений отбрасывает некорректные кодовые последовательности вместо возврата пустой строки.

ENT_SUBSTITUTE - Заменяет некорректные кодовые последовательности символом замены Юникода U+FFFD в случае использования UTF-8 или &#xFFFD; при использовании другой кодировки, вместо возврата пустой строки.

ENT_DISALLOWED - Заменяет неверные коды символов для заданного типа документа символом замены юникода U+FFFD (UTF-8) или &#xFFFD; (при использовании другой кодировки) вместо того, чтобы оставлять все как есть.

ENT_HTML401 - Обработка кода в соответствии с HTML 4.01.

ENT_XML1 - Обработка кода в соответствии с XML 1.

ENT_XHTML - Обработка кода в соответствии с XHTML.

ENT_HTML5 - Обработка кода в соответствии с HTML 5.

Необязательный Encoding определяет кодировку, используемую при конвертации символов.

Значением по умолчанию для Encoding зависит от используемой версии PHP. Более ранние версии PHP используют ISO-8859-1. В PHP 5.4 и 5.5 используется UTF-8 по умолчанию. В PHP 5.6 и старше, для значения по умолчанию используется конфигурационная опция Default_charset.

Замечание: Остальные кодировки не поддерживаются, вместо них будет применена кодировка по умолчанию и сгенерировано предупреждение.

Если параметр Double_encode выключен, то PHP не будет преобразовывать существующие html-сущности. По умолчанию преобразуется все без ограничений.

Функция Htmlspecialchars возвращает преобразованную строку (string).

Если входная строка String содержит неверную последовательность символов в указанной кодировке Encoding, то будет возвращаться пустая строка в случае, если флаги ENT_IGNORE или ENT_SUBSTITUTE не установлены.

Пример работы:
$new = htmlspecialchars( "<a href='index.html'><b>Link</b></a>", ENT_QUOTES, 'UTF-8' );
echo $new; // &lt;a href=&#039;index.html&#039;&gt;&lt;b&gt;Link&lt;/b&gt;&lt;/a&gt;

Добавить комментарий

Имя:
Текст комментария: