Saltar al contenido

html_entity_decode()

Nuestro artículo trata sobre la función de PHP html_entity_decode(), que se utiliza para convertir entidades HTML a sus caracteres correspondientes. Esta función es útil para trabajar con datos HTML, como los datos de un formulario HTML o un archivo HTML. En este artículo, discutiremos la sintaxis y el uso de html_entity_decode(), así como proporcionaremos algunos ejemplos.

La función html_entity_decode() se utiliza para convertir entidades HTML a sus caracteres correspondientes. La sintaxis de la función html_entity_decode() es la siguiente:

La sintaxis de PHP de html_entity_decode()

php
string html_entity_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") ]] )

La función toma un parámetro obligatorio, $string, que es la cadena que contiene las entidades HTML para decodificar. La función también tiene dos parámetros opcionales, $flags y $encoding.

A continuación se muestra un ejemplo de cómo usar la función html_entity_decode():

Ejemplo de PHP html_entity_decode()

php
<?php
$html_string = "&lt;h1&gt;Hello World&lt;/h1&gt;";
$decoded_string = html_entity_decode($html_string);
echo $decoded_string;
?>

En este ejemplo, tenemos una variable de cadena $html_string que contiene algo de código HTML con entidades. Utilizamos la función html_entity_decode() para convertir las entidades HTML a sus caracteres correspondientes.

La salida de este código será:


html
<h1>Hello World</h1>

Como puede ver, la función decodifica correctamente las entidades HTML de vuelta a sus caracteres originales.

La función html_entity_decode() también puede tomar un segundo parámetro, $flags, que especifica cómo manejar las comillas y qué conjunto de entidades utilizar. El valor predeterminado para $flags es ENT_COMPAT | ENT_HTML401. Tenga en cuenta que ENT_COMPAT solo decodifica comillas dobles, mientras que ENT_QUOTES decodifica tanto comillas simples como dobles. Para mayor robustez, también puede considerar banderas como ENT_IGNORE o ENT_SUBSTITUTE para manejar entidades no válidas de manera adecuada.

A continuación se muestra un ejemplo de cómo usar la función html_entity_decode() con la bandera ENT_QUOTES:

¿Cómo usar PHP html_entity_decode()?

php
<?php
$html_string = "&lt;p&gt;I'm a paragraph&lt;/p&gt;";
$decoded_string = html_entity_decode($html_string, ENT_QUOTES);
echo $decoded_string;
?>

En este ejemplo, tenemos una variable de cadena $html_string que contiene algo de código HTML con entidades, incluyendo una comilla simple. Utilizamos la función html_entity_decode() con la bandera ENT_QUOTES para convertir las entidades HTML a sus caracteres correspondientes y para manejar la comilla simple.

La salida de este código será:


html
<p>I'm a paragraph</p>

Con la bandera ENT_QUOTES, tanto las etiquetas de párrafo como la comilla simple se restauran correctamente.

La función html_entity_decode() también puede tomar un tercer parámetro, $encoding, que especifica la codificación de caracteres de la cadena de entrada. El valor predeterminado para $encoding es el valor de la opción de configuración default_charset.

A continuación se muestra un ejemplo de cómo usar la función html_entity_decode() con una codificación específica:

Un ejemplo de cómo usar la función html_entity_decode() con una codificación específica

php
<?php
$html_string = "&lt;h1&gt;Hello World&lt;/h1&gt;";
$decoded_string = html_entity_decode($html_string, ENT_COMPAT | ENT_HTML401, "UTF-8");
echo $decoded_string;
?>

En este ejemplo, tenemos una variable de cadena $html_string que contiene algo de código HTML con entidades. Utilizamos la función html_entity_decode() con la codificación UTF-8 para convertir las entidades HTML a sus caracteres correspondientes, utilizando las banderas ENT_COMPAT | ENT_HTML401.

La salida de este código será:


html
<h1>Hello World</h1>

La codificación UTF-8 especificada garantiza que las entidades se decodifiquen con precisión de acuerdo con el conjunto de caracteres.

La función html_entity_decode() es una herramienta útil para trabajar con datos HTML, como los datos de un formulario HTML o un archivo HTML. Puede ayudarle a convertir entidades HTML a sus caracteres correspondientes, haciendo que su código sea más versátil y flexible. Al dominar esta función, podrá convertirse en un desarrollador de PHP más competente.

Esperamos que este artículo haya sido útil para comprender la función html_entity_decode() en PHP.

Práctica

¿Qué hace la función `html_entity_decode()` en PHP?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.