(PHP 4, PHP 5, PHP 7, PHP 8)
get_html_translation_table — Возвращает таблицу преобразований, используемую функциями htmlspecialchars() и htmlentities()
$table = HTML_SPECIALCHARS, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string $encoding = "UTF-8"): arrayget_html_translation_table() возвращает таблицу преобразований, используемую функциями htmlspecialchars() и htmlentities().
Замечание:
Специальные символы могут быть закодированы разными способами. Например,
"может быть закодирован как","или". get_html_translation_table() возвращает только формы, используемые функциями htmlspecialchars() и htmlentities().
table
Указывает, какую таблицу использовать для преобразований. Либо HTML_ENTITIES, либо
HTML_SPECIALCHARS.
flags
Битовая маска, состоящая из одного или нескольких перечисленных ниже флагов, которые указывают,
какие кавычки будет содержать таблица, а также для какого документа таблица предназначена. Значение
по умолчанию ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
| Имя константы | Описание |
|---|---|
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Используемая кодировка. Если не указана, то значением по умолчанию для этого аргумента является UTF-8.
Функция поддерживает следующие кодировки:
| Кодировка | Псевдонимы | Описание |
|---|---|---|
| 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 | ASCII-совместимая многобайтовая 8-битная кодировка Unicode. | |
| cp866 | ibm866, 866 | Кириллическая кодировка, которую применяют в семействе операционных систем DOS. |
| cp1251 | Windows-1251, win-1251, 1251 | Кириллическая кодировка, которую применяют в операционных системах Windows. |
| cp1252 | Windows-1252, 1252 | Западно-Европейская кодировка, которую применяют в операционных системах Windows. |
| KOI8-R | koi8-ru, koi8r | Русская кодировка. |
| BIG5 | 950 | Кодировка с набором символов Traditional Chinese (Традиционный китайский), которую применяют в основном на Тайване. |
| GB2312 | 936 | Стандартная национальная кодировка с набором символов Simplified Chinese (Упрощённый китайский). |
| BIG5-HKSCS | Кодировка Big5 с расширениями для Гонконга с набором символов Traditional Chinese (Традиционный китайский). | |
| Shift_JIS | SJIS, SJIS-win, cp932, 932 | Японская кодировка. |
| EUC-JP | EUCJP, eucJP-win | Японская кодировка. |
| MacRoman | Кодировка, которую использовала операционная система Mac OS. | |
'' |
Пустая строка активирует режим определения кодировки из файла скрипта (Zend multibyte), директивы default_charset и текущей локали (смотрите описание функций nl_langinfo() и setlocale()), в перечисленном порядке. Не рекомендуется использовать. |
Замечание: Другие кодировки функция не распознаёт. Вместо других кодировок функция будет использовать кодировку по умолчанию и выдаст предупреждение.
Возвращает таблицу преобразований в виде массива с оригинальными символами в качестве ключей и сущностями в качестве значений.
| Версия | Описание |
|---|---|
| 8.1.0 |
Значение по умолчанию параметра flags изменено с ENT_COMPAT на ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
|
Пример #1 Пример таблицы преобразований
<?php
var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_HTML5));
?>Вывод приведённого примера будет похож на:
array(1510) {
["
"]=>
string(9) "
"
["!"]=>
string(6) "!"
["""]=>
string(6) """
["#"]=>
string(5) "#"
["$"]=>
string(8) "$"
["%"]=>
string(8) "%"
["&"]=>
string(5) "&"
["'"]=>
string(6) "'"
// ...
}