# get_html_translation_table

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

get_html_translation_table — Retourne la table de traduction des entités utilisée par htmlspecialchars() et 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() retourne la table de traduction des entités utilisée en interne par les fonctions htmlspecialchars() et htmlentities().

> Note:

> Les caractères spéciaux peuvent être encodés de différentes façon. E.g. `"` peut être encodé comme `&quot;`, `&#34;` ou `&#x22`. get_html_translation_table() retourne uniquement la forme utilisée par htmlspecialchars() et htmlentities().

### Liste de paramètres

`table`

  La table à retourner. Soit `HTML_ENTITIES`, soit `HTML_SPECIALCHARS`.

`flags`

  Un masque d'un ou plusieurs drapeaux suivants, qui spécifient quel guillemet la table contiendra, tout comme le type de document prévu pour la table. La valeur par défaut est `ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401`.

  Constantes disponibles pour le drapeau `flags`
  Nom de la constante | Description
  --- | ---
  `ENT_COMPAT` | La table contient des entités pour les guillemets doubles, mais pas pour les guillemets simples.
  `ENT_QUOTES` | La table contient des entités pour à la fois les guillemets doubles et simples.
  `ENT_NOQUOTES` | La table ne contient pas d'entités pour à la fois les guillemets doubles et simples.
  `ENT_SUBSTITUTE` | Remplace les séquences de code invalide avec un caractère de remplacement Unicode U+FFFD (UTF-8) ou &#FFFD; (sinon) au lieu de retourner une chaîne vide.
  `ENT_HTML401` | Table pour du HTML 4.01.
  `ENT_XML1` | Table pour du XML 1.
  `ENT_XHTML` | Table pour du XHTML.
  `ENT_HTML5` | Table pour du HTML 5.

`encoding`

  Encodage à utiliser. Si omis, la valeur par défaut est UTF-8.

  Les jeux de caractères suivants sont supportés :

  Jeux de caractères supportés
  Jeux de caractères | Alias | Description
  --- | --- | ---
  ISO-8859-1 | ISO8859-1 | Europe occidentale, Latin-1.
  ISO-8859-5 | ISO8859-5 | Jeu de caractère cyrillique rarement utilisé (Latin/Cyrillic).
  ISO-8859-15 | ISO8859-15 | Europe occidentale, Latin-9. Dispose du signe Euro, des caractères spéciaux français et finlandais, qui manquent au Latin-1 (ISO-8859-1).
  UTF-8 |  | Unicode 8 bits multioctets, compatible avec l'ASCII
  cp866 | ibm866, 866 | Jeu de caractères Cyrillique spécifique à DOS.
  cp1251 | Windows-1251, win-1251, 1251 | Jeu de caractères Cyrillic spécifique à Windows.
  cp1252 | Windows-1252, 1252 | Jeu de caractères spécifique de Windows pour l'Europe occidentale.
  KOI8-R | koi8-ru, koi8r | Russe.
  BIG5 | 950 | Chinois traditionnel, principalement utilisé à Taïwan.
  GB2312 | 936 | Chinois simplifié, officiel.
  BIG5-HKSCS |  | Big5 avec les extensions de Hong Kong, chinois traditionnel.
  Shift_JIS | SJIS, SJIS-win, cp932, 932 | Japonais
  EUC-JP | EUCJP, eucJP-win | Japonais
  MacRoman |  | Jeu de caractères utilisé par Mac OS.
  `''` |  | Une chaîne vide active la détection de l'encodage depuis un script (multioctet Zend), default_charset et la locale courante (voir nl_langinfo() et setlocale()), dans cet ordre. Non recommandé.

  > Note: Les autres jeux de caractères ne sont pas reconnus. L'encodage par défaut sera utilisé à la place et une alerte sera émise.

### Valeurs de retour

Retourne la table de traduction, sous la forme d'un tableau, avec comme clés, les caractères orignaux, et comme valeurs, les entités correspondantes.

### Historique

Version | Description
--- | ---
8.1.0 | `flags` à changé de `ENT_COMPAT` à `ENT_QUOTES` | `ENT_SUBSTITUTE` | `ENT_HTML401`.

### Exemples

Exemple #1 Exemple avec la table de traduction des caractères en entités HTML

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

Résultat de l'exemple ci-dessus est similaire à :

    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;"
      // ...
    }

### Voir aussi

- htmlspecialchars() - Convertit les caractères spéciaux en entités HTML
- htmlentities() - Convertit tous les caractères éligibles en entités HTML
- html_entity_decode() - Convertit les entités HTML à leurs caractères correspondant