html_entity_decode
En esta página
html_entity_decode
Convierte las entidades HTML a sus caracteres correspondientes
Descripción#
html_entity_decode(string $string, [int $flags], [string $encoding]): string
```php
`html_entity_decode` es la función contraria de `htmlentities`: convierte las entidades HTML de la cadena `string` a sus caracteres correspondientes.
De manera más explícita, esta función decodifica todas las entidades (incluyendo las entidades numéricas) que 1) son necesariamente válidas para el tipo de documento seleccionado - es decir, para XML, esta función no decodifica las entidades nombradas que pueden estar definidas en una DTD - y 2) cuyo carácter o caracteres están en el juego de caracteres codificado con la codificación elegida y están permitidos en el tipo de documento seleccionado. Todas las demás entidades se dejan tal cual.
## Parámetros
`string`
La cadena de entrada.
`flags`
Una máscara de uno o varios flag siguientes, que especifican la forma en que deben ser gestionadas las comillas y qué tipo de documento debe ser utilizado. Por omisión, es `ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401`.
| Constante | Descripción |
|----|----|
| `ENT_COMPAT` | Convierte las comillas dobles e ignora las comillas simples. |
| `ENT_QUOTES` | Convierte las comillas dobles y las comillas simples. |
| `ENT_NOQUOTES` | No convierte ninguna comilla. |
| `ENT_SUBSTITUTE` | Reemplaza las secuencias de código no válidas con un carácter de reemplazo Unicode U+FFFD (UTF-8) o &#FFFD; (de lo contrario) en lugar de devolver una cadena vacía. |
| `ENT_HTML401` | Gestiona el código como HTML 4.01. |
| `ENT_XML1` | Gestiona el código como XML 1. |
| `ENT_XHTML` | Gestiona el código como XHTML. |
| `ENT_HTML5` | Gestiona el código como HTML 5. |
Constantes disponibles para `flags`
`encoding`
Un argumento opcional que define el codificado utilizado durante la conversión de caracteres.
Si se omite, el valor predeterminado del parámetro `encoding` es el valor de la opción de configuración [default_charset](#ini.default-charset) .
Aunque este argumento es técnicamente opcional, se recomienda encarecidamente especificar el valor correcto para su código si la opción de configuración [default_charset](#ini.default-charset) ha sido definida incorrectamente para la entrada proporcionada.
## Valores devueltos
Devuelve la cadena decodificada.
## Historial de cambios
| Versión | Descripción |
|----|----|
| 8.1.0 | `flags` cambió de `ENT_COMPAT` a `ENT_QUOTES` \| `ENT_SUBSTITUTE` \| `ENT_HTML401`. |
| 8.0.0 | `encoding` ahora puede ser nullable. |
## Ejemplos
Decodificar entidades HTML
```php
Notas#
[!NOTE] Podría preguntarse por qué
trim(html_entity_decode(' '));no reduce la cadena a la cadena vacía. Esto se debe a que la entidad no es un código ASCII 32 (que sería eliminado portrim), sino un código ASCII 160 (0xa0) en la codificación por omisiónISO 8859-1.
Véase también#
htmlentities, htmlspecialchars, get_html_translation_table, urldecode