get_html_translation_table

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

get_html_translation_tableDevuelve la tabla de traducción utilizada por htmlspecialchars() y htmlentities()

Descripción

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

get_html_translation_table() devolverá la tabla de traducción que es utilizada internamente para htmlspecialchars() y htmlentities().

Nota:

Los caracteres especiales se pueden codificar de varias maneras. Por ejemplo, " puede ser codificado como ", " o &#x22. get_html_translation_table() devuelve sólo la forma utilizada por htmlspecialchars() y htmlentities().

Parámetros

table

Qué tabla devolver. Puede ser HTML_ENTITIES o HTML_SPECIALCHARS).

flags

Una máscara de bits de uno o más de los siguientes indicadores especificando qué comillas contendrá la tabla, así como para qué tipo de documento será la tabla. El valor por defecto es ENT_COMPAT | ENT_HTML401.

Constantes disponibles para flags
Nombre de la constante Descripción
ENT_COMPAT La tabla contendrá entidades para comillas dobles, pero no para comillas simples.
ENT_QUOTES La tabla contendrá entidades para comillas dobles y simples.
ENT_NOQUOTES La tabla no contendrá entidades para comillas simples ni para comillas dobles.
ENT_HTML401 Tabla para HTML 4.01.
ENT_XML1 Tabla para XML 1.
ENT_XHTML Tabla para XHTML.
ENT_HTML5 Tabla para HTML 5.

encoding

La codificación a usar. Si se omite, el valor por defecto para este argumento es ISO-8859-1 en versiones de PHP anteriores a 5.4.0, y UTF-8 a partir de PHP 5.4.0 en adelante.

Están soportados los siguientes juegos de caracteres:

Juegos de caracteres soportados
Juego de caracteres Alias Descripción
ISO-8859-1 ISO8859-1 Europeo occidental, Latin-1.
ISO-8859-5 ISO8859-5 Juego de caracteres cirílicos poco usado (Latin/Cyrillic).
ISO-8859-15 ISO8859-15 Europeo occidental, Latin-9. Añade el signo de euro, y letras del francés y finlandés ausentes en Latin-1 (ISO-8859-1).
UTF-8   Unicode de 8 bit multibyte compatible con ASCII.
cp866 ibm866, 866 Juego de caracteres cirílico específico de DOS.
cp1251 Windows-1251, win-1251, 1251 Juego de caracteres cirílico específico de Windows.
cp1252 Windows-1252, 1252 Juego de caracteres específico de Windows para Europa occidental.
KOI8-R koi8-ru, koi8r Ruso.
BIG5 950 Chino tradicional, usado principalmente en Taiwán.
GB2312 936 Chino simplificado, juego de caracteres estándar nacional.
BIG5-HKSCS   Big5 con extensiones de Hong Kong, chino tradicional.
Shift_JIS SJIS, SJIS-win, cp932, 932 Japonés
EUC-JP EUCJP, eucJP-win Japonés
MacRoman   Juego de caracteres que fue utilizado por Mac OS.
''   Un string vacío activa la detección desde la codificación del script (Zend multibyte), default_charset y la actual configuración regional (véase nl_langinfo() y setlocale()), en este orden. No se recomienda.

Nota: No se reconoce cualquier otro juego de caracteres. Será utilizada en su lugar la codificación por defecto y se emitirá una advertencia.

Valores devueltos

Devuelve la tabla de traducción como un array, con los caracteres originales como claves y las entidades como valores.

Historial de cambios

Versión Descripción
5.4.0 El valor por defecto para el parámetro encoding se cambió a UTF-8.
5.4.0 Se añadieron las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
5.3.4 Se añadió el parámetro encoding.

Ejemplos

Ejemplo #1 Ejemplo de tabla de traducción

<?php
var_dump
(get_html_translation_table(HTML_ENTITIESENT_QUOTES ENT_HTML5));
?>

El resultado del ejemplo sería algo similar a:

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

Ver también