PHP htmlentities()Función

PHP String 参考手册Manual de referencia de PHP String

Ejemplos

Convertir algunos caracteres en entidades HTML:

<?php
$str = "<© W3CSçh°°¦§>";
echo htmlentities($str);
?>

La salida HTML del código anterior es la siguiente (ver código fuente):

<!DOCTYPE html>
<html>
<body>
&lt;&copy; W3CS&ccedil;h&deg;&deg;&brvbar;&sect;&gt;
</body>
</html>

La salida del código anterior en el navegador es la siguiente:

<© W3CSçh°°¦§>

Ejecutar ejemplo »

Definición y uso

La función htmlentities() convierte caracteres en entidades HTML.

Consejo:Para convertir entidades HTML nuevamente a caracteres, usehtml_entity_decode()la función.

Consejo:Use la get_html_translation_table()función para devolver la tabla de traducción utilizada por htmlentities().


Sintaxis

htmlentities(string,flags,character-set,double_encode)

Parámetro Descripción
string Obligatorio. Especifica la cadena a convertir.
flags Opcional. Especifica cómo manejar las comillas, codificaciones no válidas y qué tipo de documento usar.

Tipos de comillas disponibles:

  • ENT_COMPAT - Predeterminado. Codifica solo comillas dobles.
  • ENT_QUOTES - Codifica comillas dobles y comillas simples.
  • ENT_NOQUOTES - No codifica ninguna comilla.

Codificaciones no válidas:

  • ENT_IGNORE - Ignora las codificaciones no válidas en lugar de hacer que la función devuelva una cadena vacía. Debe evitarse siempre que sea posible, ya que puede tener un impacto en la seguridad.
  • ENT_SUBSTITUTE - Reemplaza codificaciones no válidas con un carácter específico que contiene el carácter de reemplazo Unicode U+FFFD (UTF-8) o &#FFFD;, en lugar de devolver una cadena vacía.
  • ENT_DISALLOWED - Reemplaza los puntos de código no válidos en el tipo de documento especificado con el carácter de reemplazo Unicode U+FFFD (UTF-8) o &#FFFD;.

Banderas adicionales que especifican el tipo de documento a usar:

  • ENT_HTML401 - Predeterminado. Procesa el código como HTML 4.01.
  • ENT_HTML5 - Procesa el código como HTML 5.
  • ENT_XML1 - Procesa el código como XML 1.
  • ENT_XHTML - Procesa el código como XHTML.
character-set Opcional. Una cadena que especifica el conjunto de caracteres a utilizar.

Valores permitidos:

  • UTF-8 - Predeterminado. Unicode de 8 bits multibyte compatible con ASCII
  • ISO-8859-1 - Europa occidental
  • ISO-8859-15 - Europa occidental (agrega el símbolo del euro + letras francesas y finlandesas que faltan en ISO-8859-1)
  • cp866 - Conjunto de caracteres cirílico específico de DOS
  • cp1251 - Conjunto de caracteres cirílico específico de Windows
  • cp1252 - Conjunto de caracteres de Europa occidental específico de Windows
  • KOI8-R - Ruso
  • BIG5 - Chino tradicional, utilizado principalmente en Taiwán
  • GB2312 - Chino simplificado, conjunto de caracteres estándar nacional
  • BIG5-HKSCS - Big5 con extensión de Hong Kong
  • Shift_JIS - Japonés
  • EUC-JP - Japonés
  • MacRoman - Conjunto de caracteres utilizado por el sistema operativo Mac

Nota:En versiones anteriores a PHP 5.4, los conjuntos de caracteres no reconocidos se ignoraban y eran reemplazados por ISO-8859-1. Desde PHP 5.4, los conjuntos de caracteres no reconocidos se ignoran y son reemplazados por UTF-8.

double_encode Opcional. Un valor booleano que especifica si se codifican las entidades HTML existentes.
  • TRUE - Predeterminado. Convertirá cada entidad.
  • FALSE - No codificará las entidades HTML existentes.

Detalles técnicos

Valor de retorno: Devuelve la cadena convertida.

Sistringcontiene codificaciones no válidas, devuelve una cadena vacía, a menos que se configuren los indicadores ENT_IGNORE o ENT_SUBSTITUTE.
Versión de PHP: 4+
Registro de cambios: En PHP 5,character-setel valor predeterminado del parámetro se cambió a UTF-8.

En PHP 5.4, se agregaron: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 y ENT_XHTML.

En PHP 5.3, se agregó ENT_IGNORE.

En PHP 5.2.3, se agregó eldouble_encodeparámetro.

En PHP 4.1, se agregó elcharacter-setparámetro.


Más ejemplos

Ejemplo 1

Convertir algunos caracteres en entidades HTML:

<?php
$str = "Jane & 'Tarzan'";
echo htmlentities($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlentities($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES); // Does not convert any quotes
?>

La salida HTML del código anterior es la siguiente (ver código fuente):

<!DOCTYPE html>
<html>
<body>
Jane &amp; 'Tarzan'<br>
Jane &amp; &#039;Tarzan&#039;<br>
Jane &amp; 'Tarzan'
</body>
</html>

La salida del código anterior en el navegador es la siguiente:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'

Ejecutar ejemplo »

Ejemplo 2

Convertir algunos caracteres en entidades HTML mediante el uso del conjunto de caracteres de Europa occidental:

<?php
$str = "My name is Øyvind Åsane. I'm Norwegian.";
echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // Will only convert double quotes (not single quotes), and uses the character-set Western European
?>

La salida HTML del código anterior es la siguiente (ver código fuente):

<!DOCTYPE html>
<html>
<body>
My name is &Oslash;yvind &Aring;sane. I&#039;m Norwegian.
</body>
</html>

La salida del código anterior en el navegador es la siguiente:

My name is Øyvind Åsane. I'm Norwegian.

Ejecutar ejemplo »


PHP String 参考手册Manual de referencia de PHP String Otras extensiones