PHP Tutorial - PHP get_html_translation_table() Function


The get_html_translation_table() function returns the translation table used by the htmlentities() and htmlspecialchars() functions.


PHP get_html_translation_table() Function has the following syntax.

array get_html_translation_table ([ int $table = HTML_SPECIALCHARS [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' ]]] )


  • table - Which table to return. Either HTML_ENTITIES or HTML_SPECIALCHARS.
  • flags - A bitmask of one or more of the following flags, which specify which quotes the table will contain as well as which document type the table is for. The default is ENT_COMPAT | ENT_HTML401.
  • encoding - Encoding to use. If omitted, the default value for this argument is ISO-8859-1 in versions of PHP prior to 5.4.0, and UTF-8 from PHP 5.4.0 onwards.

Available constants for flags

Constant NameDescription
ENT_COMPATTable will contain entities for double-quotes, but not for single-quotes.
ENT_QUOTESTable will contain entities for both double and single quotes.
ENT_NOQUOTESTable will neither contain entities for single quotes nor for double quotes.
ENT_HTML401Table for HTML 4.01.
ENT_XML1Table for XML 1.
ENT_HTML5Table for HTML 5.

The following character sets are supported:

ISO-8859-1ISO8859-1Western European, Latin-1.
ISO-8859-5ISO8859-5Little used cyrillic charset (Latin/Cyrillic).
ISO-8859-15ISO8859-15Western European, Latin-9. Adds the Euro sign, French and Finnish letters missing in Latin-1 (ISO-8859-1).
UTF-8No AliasASCII compatible multi-byte 8-bit Unicode.
cp866ibm866, 866DOS-specific Cyrillic charset.
cp1251Windows-1251, win-1251, 1251Windows-specific Cyrillic charset.
cp1252Windows-1252, 1252Windows specific charset for Western European.
KOI8-Rkoi8-ru, koi8rRussian.
BIG5950Traditional Chinese, mainly used in Taiwan.
GB2312936Simplified Chinese, national standard character set.
BIG5-HKSCSNo AliasBig5 with Hong Kong extensions, Traditional Chinese.
Shift_JISSJIS, SJIS-win, cp932, 932Japanese
EUC-JPEUCJP, eucJP-winJapanese
MacRomanNo AliasCharset that was used by Mac OS.
''No AliasAn empty string activates detection from script encoding (Zend multibyte), default_charset and current locale (see nl_langinfo() and setlocale()), in this order. Not recommended.

Any other character sets are not recognized. The default encoding will be used instead and a warning will be emitted.


PHP get_html_translation_table() Function returns the translation table as an array, with the original characters as keys and entities as values.

Example 1

Print the translation table used by the htmlspecialchars function:

print_r (get_html_translation_table()); // HTML_SPECIALCHARS is default.

The code above generates the following result.

Example 2


print_r (get_html_translation_table(HTML_SPECIALCHARS));

The code above generates the following result.

Example 3


print_r (get_html_translation_table(HTML_ENTITIES));

The code above generates the following result.