Los últimos tutoriales de desarrollo web
 

PHP htmlentities() Function

<String Referencia PHP

Ejemplo

Convertir algunos caracteres a entidades HTML:

<?php
$str = "<© W3School>";
echo htmlentities($str);
?>

La salida HTML del código anterior será (View Source) :

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

La salida del navegador del código anterior será:

<© W3School>
Ejecutar ejemplo »

Definición y Uso

El htmlentities() la función convierte los caracteres a entidades HTML.

Consejo: para convertir las entidades HTML volver a los caracteres, utilice el html_entity_decode() función.

Consejo: Utilice 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 Necesario. Especifica la cadena para convertir
flags Opcional. Especifica cómo manejar citas, codificación no válida y el tipo de documento utilizado.

Los estilos de cotización disponibles son:

  • ENT_COMPAT - por defecto. Codifica sólo comillas dobles
  • ENT_QUOTES - Codifica comillas dobles e individuales
  • ENT_NOQUOTES - ¿No codificar las comillas

codificación no válida:

  • ENT_IGNORE - Ignora codificación no válida en lugar de tener la función devuelve una cadena vacía. Debe evitarse, ya que puede tener implicaciones de seguridad.
  • ENT_SUBSTITUTE - Reemplaza codificación no válida para un juego de caracteres especificado con una sustitución de caracteres Unicode U + FFFD (UTF-8) o & # FFFD; en lugar de devolver una cadena vacía.
  • ENT_DISALLOWED - Reemplaza los puntos de código que no son válidos en el tipo de documento especificado con una sustitución de caracteres Unicode U + FFFD (UTF-8) o & # FFFD;

banderas adicionales para especificar el tipo de documento utilizado:

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

Los valores permitidos son:

  • UTF-8 - Default. ASCII compatibles multi-byte Unicode de 8 bits
  • ISO-8859-1 - Europa Occidental
  • ISO-8859-15 - Europa occidental (añade el símbolo del Euro + letras francesas y finlandesas que faltan en la norma ISO-8859-1)
  • CP866 - DOS específico juego de caracteres cirílico
  • CP1251 - específico para Windows juego de caracteres cirílico
  • CP1252 - juego de caracteres de Windows específica para Europa Occidental
  • KOI8-R - Rusia
  • Big5 - chino tradicional, utilizado principalmente en Taiwán
  • GB2312 - chino simplificado, conjunto de caracteres estándar nacional
  • Big5-HKSCS - Big5 con extensiones de Hong Kong
  • Shift_JIS - Japonés
  • EUC-JP - Japonés
  • MacRoman - juego de caracteres que fue utilizado por Mac OS

Note: no reconocidos conjuntos de caracteres serán ignoradas y reemplazadas por la norma ISO-8859-1 en las versiones anteriores a PHP 5.4. A partir de PHP 5.4, se ignorará una sustituye por UTF-8.

double_encode Opcional. Un valor booleano que especifica si se codifican entidades HTML existente o no.
  • VERDADERO - por defecto. Convertirá todo
  • FALSO - no codificará entidades HTML existente

Detalles técnicos

Valor de retorno: Devuelve la cadena convertida

Si la cadena contiene codificación no válida, devolverá una cadena vacía, a menos que se fijan bien el ENT_IGNORE o banderas ENT_SUBSTITUTE
Versión de PHP: 4+
cambios: El valor predeterminado para el parámetro juego de caracteres fue cambiado a UTF-8 en PHP 5

ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 y ENT_XHTML se añadieron en PHP 5.4

ENT_IGNORE se añadió en PHP 5.3

El parámetro double_encode se añadió en PHP 5.2.3

El parámetro juego de caracteres se añadió en PHP 4.1

Más ejemplos

Ejemplo 1

Convertir algunos caracteres a 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 será (View Source) :

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

La salida del navegador del código anterior será:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Ejecutar ejemplo »

Ejemplo 2

Convertir algunos caracteres a entidades HTML utilizando el juego de caracteres occidental europea:

<?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 será (View Source) :

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

La salida del navegador del código anterior será:

My name is yvind Åsane. I'm Norwegian.
Ejecutar ejemplo »

<String Referencia PHP