Returns the translation table used by htmlspecialchars and htmlentities

# get_html_translation_table

(PHP 4, PHP 5, PHP 7, PHP 8)

get_html_translation_table — Returns the translation table used by htmlspecialchars() and htmlentities()

### Description

get_html_translation_table(int `$table` = `HTML_SPECIALCHARS`, int `$flags` = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string `$encoding` = "UTF-8"): array

get_html_translation_table() will return the translation table that is used internally for htmlspecialchars() and htmlentities().

> Note:

> Special characters can be encoded in several ways. E.g. `"` can be encoded as `&quot;`, `&#34;` or `&#x22`. get_html_translation_table() returns only the form used by htmlspecialchars() and htmlentities().

### Parameters

`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_QUOTES | ENT_SUBSTITUTE | ENT_HTML401`.

  Available `flags` constants
  Constant Name | Description
  --- | ---
  `ENT_COMPAT` | Table will contain entities for double-quotes, but not for single-quotes.
  `ENT_QUOTES` | Table will contain entities for both double and single quotes.
  `ENT_NOQUOTES` | Table will neither contain entities for single quotes nor for double quotes.
  `ENT_SUBSTITUTE` | Replace invalid code unit sequences with a Unicode Replacement Character U+FFFD (UTF-8) or &#xFFFD; (otherwise) instead of returning an empty string.
  `ENT_HTML401` | Table for HTML 4.01.
  `ENT_XML1` | Table for XML 1.
  `ENT_XHTML` | Table for XHTML.
  `ENT_HTML5` | Table for HTML 5.

`encoding`

  Encoding to use. If omitted, the default value for this argument is UTF-8.

  The following character sets are supported:

  Supported charsets
  Charset | Aliases | Description
  --- | --- | ---
  ISO-8859-1 | ISO8859-1 | Western European, Latin-1.
  ISO-8859-5 | ISO8859-5 | Little used cyrillic charset (Latin/Cyrillic).
  ISO-8859-15 | ISO8859-15 | Western European, Latin-9. Adds the Euro sign, French and Finnish letters missing in Latin-1 (ISO-8859-1).
  UTF-8 |  | ASCII compatible multi-byte 8-bit Unicode.
  cp866 | ibm866, 866 | DOS-specific Cyrillic charset.
  cp1251 | Windows-1251, win-1251, 1251 | Windows-specific Cyrillic charset.
  cp1252 | Windows-1252, 1252 | Windows specific charset for Western European.
  KOI8-R | koi8-ru, koi8r | Russian.
  BIG5 | 950 | Traditional Chinese, mainly used in Taiwan.
  GB2312 | 936 | Simplified Chinese, national standard character set.
  BIG5-HKSCS |  | Big5 with Hong Kong extensions, Traditional Chinese.
  Shift_JIS | SJIS, SJIS-win, cp932, 932 | Japanese
  EUC-JP | EUCJP, eucJP-win | Japanese
  MacRoman |  | Charset that was used by Mac OS.
  `''` |  | An empty string activates detection from script encoding (Zend multibyte), default_charset and current locale (see nl_langinfo() and setlocale()), in this order. Not recommended.

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

### Return Values

Returns the translation table as an array, with the original characters as keys and entities as values.

### Changelog

Version | Description
--- | ---
8.1.0 | `flags` changed from `ENT_COMPAT` to `ENT_QUOTES` | `ENT_SUBSTITUTE` | `ENT_HTML401`.

### Examples

Example #1 Translation Table Example

`<?php
var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_HTML5));
?>`

The above example will output something similar to:

    array(1510) {
      ["
    "]=>
      string(9) "&NewLine;"
      ["!"]=>
      string(6) "&excl;"
      ["""]=>
      string(6) "&quot;"
      ["#"]=>
      string(5) "&num;"
      ["$"]=>
      string(8) "&dollar;"
      ["%"]=>
      string(8) "&percnt;"
      ["&"]=>
      string(5) "&amp;"
      ["'"]=>
      string(6) "&apos;"
      // ...
    }

### See Also

- htmlspecialchars() - Convert special characters to HTML entities
- htmlentities() - Convert all applicable characters to HTML entities
- html_entity_decode() - Convert HTML entities to their corresponding characters

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open