html_entity_decode

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

html_entity_decode — Перетворює HTML-сутності на символи

Опис

html_entity_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null): string

Функцияhtml_entity_decode() протилежна функції htmlentities(). Вона перетворює HTML-сутності у рядку string символи.

Точніше, ця функція перетворює всі сутності (включаючи числові), які, по-перше, точно допустимі для типу документа — тобто, для XML ця функція не перетворює іменовані сутності, які визначені в DTD, а по-друге, символ чи символи яких містяться в кодуванні, що відповідає вибраному, та дозволені у типі документа. Усі інші сутності не змінюються.

Список параметрів

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

Необов'язковий аргумент, що визначає кодування, яке використовується при конвертації символів.

Если не указан, то значение по умолчанию дляencoding залежить від конфігураційної опції default_charset

Хоча цей аргумент є технічно необов'язковим, рекомендується вказати правильне значення для вашого коду, опція конфігурації default_charset може бути задана неправильно для вхідних даних.

Підтримуються такі кодування:

Підтримувані кодування

КодировкаПсевдонимыОпис
ISO-8859-1ISO8859-1Західноєвропейська Latin-1.
ISO-8859-5ISO8859-5Рідко використовуване кириличне кодування (Latin/Cyrillic).
ISO-8859-15ISO8859-15Західноєвропейська Latin-9. Додає символ євро, французькі та фінські літери до кодування Latin-1 (ISO-8859-1).
UTF-88-бітна Unicode, сумісна з ASCII.
cp866ibm866, 866Кирилічна кодування, що застосовується в DOS.
cp1251Windows-1251, win-1251, 1251Кирилічна кодування, що використовується у Windows.
cp1252Windows-1252, 1252Західно-європейське кодування, що використовується у Windows.
KOI8-Rkoi8-ru, koi8rРосійське кодування.
BIG5950Традиційний китайський, застосовується переважно на Тайвані.
GB2312936Спрощена китайська, стандартне національне кодування.
BIG5-HKSCSРозширена Big5, що застосовується в Гонконгу.
Shift_JISSJIS, SJIS-win, cp932, 932Японське кодування.
EUC-JPEUCJP, eucJP-winЯпонське кодування.
MacRomanКодування, яке використовується в Mac OS.
''Порожній рядок активує режим визначення кодування із файлу скрипта (Zend multibyte), default_charset та поточної локалі (дивіться nl_langinfo() і setlocale()) у зазначеному порядку. Не рекомендується використовувати.

Зауваження: Інші кодування не підтримуються, замість них буде застосовано кодування за замовчуванням та згенеровано попередження.

Значення, що повертаються

Повертає розкодований рядок.

список змін

ВерсияОпис
8.1.0Значення за промовчанням flags змінено зі значення ENT_COMPATнаENT_QUOTES
8.0.0Параметрencoding тепер може набувати значення null.

Приклади

Приклад #1 Декодування HTML-сутностей

Loading...

Примітки

Зауваження :

Може здатися дивним, що результат виклику функції trim(html_entity_decode(' ')); - Не порожній рядок. Причина в тому, що елемент ' ' перетворюється на символ з ASCII-кодом 32 (який видаляється функцією trim()), а символ з ASCII-кодом 160 (0xa0) в кодуванні ISO-8859-1, що приймається за умовчанням.

Дивіться також

  • htmlentities() - Перетворює всі можливі символи у відповідні HTML-сутності
  • htmlspecialchars() - Перетворює спеціальні символи в HTML-сутності
  • get_html_translation_table() - Повертає таблицю перетворень, використовувану функціями htmlspecialchars і htmlentities
  • urldecode() - Декодування URL-кодованого рядка