html_entity_decode
Преобразовывает HTML-сущности в символы
&reftitle.description;
stringhtml_entity_decode
stringstring
intflagsENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401
stringnullencoding&null;
Функция html_entity_decode выполняет преобразование
обратное функции htmlentities, разница в том, что эта функция
наоборот — преобразовывает HTML-сущности в строке string в символы.
Точнее, эта функция декодирует сущности (включая числовые),
которые а) допускает тип документа — то есть,
для XML-документов функция не декодирует именованные сущности, которые определяет
схема DTD и б) символ или символы которых входят в кодированный набор символов, который
связан с выбранной кодировкой, и которые разрешает выбранный тип документа.
Остальные сущности функция не изменяет.
&reftitle.parameters;
string
Входная строка.
flags
Битовая маска из следующих флагов, которые определяют, как обрабатывать кавычки
и какой тип документа использовать.
Маска по умолчанию: ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
Константы flags
Имя константы
Описание
ENT_COMPAT
Преобразовывает двойные кавычки, одинарные кавычки не изменяются.
ENT_QUOTES
Преобразовывает как двойные, так и одинарные кавычки.
ENT_NOQUOTES
Оставляет без изменения как двойные, так и одинарные кавычки.
ENT_SUBSTITUTE
Заменяет неправильные последовательности кодовых единиц символом замены
Юникода вместо возврата пустой строки: U+FFFD для строк в кодировке UTF-8
и &#FFFD; для строк в других кодировках.
ENT_HTML401
Обрабатывает код в соответствии со стандартом HTML 4.01.
ENT_XML1
Обрабатывает код по правилам стандарта XML 1.
ENT_XHTML
Обрабатывает код по правилам стандарта XHTML.
ENT_HTML5
Обрабатывает код по правилам стандарта HTML 5.
encoding
&strings.parameter.encoding;
&reference.strings.charsets;
&reftitle.returnvalues;
Функция возвращает декодированную строку.
&reftitle.changelog;
&Version;
&Description;
8.1.0
Значение по умолчанию для параметра flags
изменили с ENT_COMPAT
на ENT_QUOTES | ENT_SUBSTITUTE
| ENT_HTML401.
8.0.0
Теперь параметр encoding принимает значение null.
&reftitle.examples;
Декодирование HTML-сущностей
dog now";
$a = htmlentities($orig);
$b = html_entity_decode($a);
echo $a; // I'll "walk" the <b>dog</b> now
echo $b; // I'll "walk" the dog now
?>
]]>
&reftitle.notes;
Кажется странным, что результатом вызова
функции trim(html_entity_decode(' ')); не становится пустая строка.
Причина в том, что сущность « » преобразовывается не в символ
с ASCII-кодом 32, который функция trim удаляет,
а в символ с ASCII-кодом 160 (0xa0) в принимаемой по умолчанию кодировке ISO-8859-1.
&reftitle.seealso;
htmlentities
htmlspecialchars
get_html_translation_table
urldecode