(PHP 4 >= 4.3.0, PHP 5)
html_entity_decode — Преобразует все HTML-сущности в соответствующие символы
$string
[, int $flags
= ENT_COMPAT | ENT_HTML401
[, string $encoding
= 'UTF-8'
]] )
html_entity_decode() является противоположностью функции
htmlentities(). Она преобразует все HTML-сущности в строке
string
в соответствующие символы.
string
Входная строка.
flags
Битовая маска, состоящая из одного или более флагов, которые указывают как обращаться с кавычками и какой тип документа использовать. По умолчанию маска принимает значение ENT_COMPAT | ENT_HTML401.
Имя константы | Описание |
---|---|
ENT_COMPAT |
Преобразуются двойные кавычки, одиночные остаются без изменений. |
ENT_QUOTES |
Преобразуются и двойные, и одиночные кавычки. |
ENT_NOQUOTES |
И двойные, и одиночные кавычки остаются без изменений. |
ENT_HTML401 |
Обрабатывать код как HTML 4.01. |
ENT_XML1 |
Обрабатывать код как XML 1. |
ENT_XHTML |
Обрабатывать код как XHTML. |
ENT_HTML5 |
Обрабатывать код как HTML 5. |
encoding
Кодировка для использования. Если не указана, то значением по умолчанию для этого аргумента является ISO-8859-1 в версиях PHP до 5.4.0 и UTF-8 начиная с PHP 5.4.0 и далее.
Поддерживаются следующие кодировки:
Кодировка | Псевдонимы | Описание |
---|---|---|
ISO-8859-1 | ISO8859-1 | Западно-европейская Latin-1. |
ISO-8859-5 | ISO8859-5 | Редкоиспользуемая кириллическая кодировка (Latin/Cyrillic). |
ISO-8859-15 | ISO8859-15 | Западно-европейская Latin-9. Добавляет знак евро, французские и финские буквы к кодировке Latin-1(ISO-8859-1). |
UTF-8 | 8-битная Unicode, совместимая с ASCII. | |
cp866 | ibm866, 866 | Кириллическая кодировка, применяемая в DOS. |
cp1251 | Windows-1251, win-1251, 1251 | Кириллическая кодировка, применяемая в Windows. |
cp1252 | Windows-1252, 1252 | Западно-европейская кодировка, применяемая в Windows. |
KOI8-R | koi8-ru, koi8r | Русская кодировка. |
BIG5 | 950 | Традиционный китайский, применяется в основном на Тайване. |
GB2312 | 936 | Упрощенный китайский, стандартная национальная кодировка. |
BIG5-HKSCS | Расширенная Big5, применяемая в Гонг-Конге. | |
Shift_JIS | SJIS, SJIS-win, cp932, 932 | Японская кодировка. |
EUC-JP | EUCJP, eucJP-win | Японская кодировка. |
MacRoman | Кодировка, используемая в Mac OS. | |
'' | Пустая строка активирует режим определения кодировки из файла скрипта (Zend multibyte), default_charset и текущей локали (см. nl_langinfo() и setlocale()), в указанном порядке. Не рекомендуется к использованию. |
Замечание: Остальные кодировки не поддерживаются, вместо них будет применена кодировка по умолчанию и сгенерировано предупреждение.
Возвращает раскодированную строку.
Версия | Описание |
---|---|
5.4.0 | Кодировка по умолчанию сменилась с ISO-8859-1 на UTF-8. |
5.4.0 |
Были добавлены константы ENT_HTML401 , ENT_XML1 ,
ENT_XHTML и ENT_HTML5 .
|
5.0.0 | Добавлена поддержка многобайтных кодировок. |
Пример #1 Декодирование HTML-сущностей
<?php
$orig = "I'll \"walk\" the <b>dog</b> 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 <b>dog</b> now
?>
Замечание:
Может показаться странным, что результатом вызова trim(html_entity_decode(' ')); не является пустая строка. Причина том, что ' ' преобразуется не в символ с ASCII-кодом 32 (который удаляется функцией trim()),а в символ с ASCII-кодом 160 (0xa0) в принимаемой по умолчанию кодировке ISO-8859-1.