(PHP 4, PHP 5)
htmlentities — Convierte todos los caracteres aplicables a entidades HTML
$string
[, int $flags
= ENT_COMPAT | ENT_HTML401
[, string $encoding
= 'UTF-8'
[, bool $double_encode
= true
]]] )Esta función es idéntica a htmlspecialchars() en todos los aspectos, excepto que con htmlentities(), todos los caracteres que tienen equivalente HTML son convertidos a esas entidades.
Si en su lugar se desea decodificar (lo inverso), se puede utilizar html_entity_decode().
string
El string de entrada.
flags
Una máscara de bits de uno o más de los siguientes indicadores, los cuales especifican como manejar las comillas, secuencias de unidad de código inválidas y el tipo de documento utilizado. Por defecto es ENT_COMPAT | ENT_HTML401.
Nombre de la constante | Descripción |
---|---|
ENT_COMPAT |
Convertirá las comillas dobles y deja solo las comillas sencillas. |
ENT_QUOTES |
Convertirá tanto las comillas dobles como las sencillas. |
ENT_NOQUOTES |
Dejará tanto las comillas dobles como las sencillas sin convertir. |
ENT_IGNORE |
Silenciosamente descarta unidades de secuencia de código no válidas en lugar de devolver un string vacío. El uso de este indicador se desaconseja debido a que » puede tener implicaciones de seguridad. |
ENT_SUBSTITUTE |
Reemplaza las secuencias de unidad de código inválidas con un Caracter Unicode de Reemplazo U+FFFD (UTF-8) ó &#FFFD; (de otra manera) en lugar de devolver un string vacío. |
ENT_DISALLOWED |
Reemplaza los puntos de código no válidos para el tipo de documento dado que se entregará con un Caracter de Reemplazo Unicode U+FFFD (UTF-8) o &#FFFD; (de otra manera) en lugar de dejarlos tal cual. Esto puede ser útil, por ejemplo, para asegurar la formación correcta de documentos XML con contenido externo incrustado. |
ENT_HTML401 |
Maneja el código como HTML 4.01. |
ENT_XML1 |
Maneja el código como XML 1. |
ENT_XHTML |
Maneja el código como XHTML. |
ENT_HTML5 |
Maneja el código como HTML 5. |
encoding
Al igual que htmlspecialchars(),
htmlentities() toma un tercer argumento opcional
encoding
el cual define la codificación usada
en la conversión.
Si se omite, el valor por defecto para este argumento es ISO-8859-1 en
versiones de PHP anteriores a 5.4.0, y es UTF-8 desde PHP 5.4.0 en adelante.
Aunque este argumento es técnicamente opcional, es altamente recomendable
especificar el valor correcto para el código.
Los siguientes juegos de caracteres están 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 que hacián falta en Latin-1 (ISO-8859-1). |
UTF-8 | Multi-byte Unicode de 8-bits 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ílicos 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 (ver nl_langinfo() y setlocale()), en este orden. No se recomienda. |
Nota: Cualquier otro juego de caracteres no es reconocido. La codificación por defecto será utilizada en su lugar y se emitirá una advertencia.
double_encode
Cuando se desactiva double_encode
PHP no
codificará a las entidades html existentes. El valor por defecto es convertir todo.
Devuelve el string codificado.
Si el string
de entrada contiene una secuencia de unidad de código
no válida dentro del encoding
dado, un string vacío
será devuelto, a menos que se definan los indicadores ENT_IGNORE
o
ENT_SUBSTITUTE
.
Versión | Descripción |
---|---|
5.4.0 |
El valor por defecto del parámetro encoding fue
cambiado a UTF-8.
|
5.4.0 |
Fueron agregadas las constantes ENT_SUBSTITUTE , ENT_DISALLOWED ,
ENT_HTML401 , ENT_XML1 ,
ENT_XHTML y ENT_HTML5 .
|
5.3.0 |
Fue agregada la constante ENT_IGNORE .
|
5.2.3 |
Fue agregado el parámetro double_encode .
|
4.1.0 |
Fue agregado el parámetro encoding .
|
4.0.3 |
Fue agregado el parámetro flags .
|
Ejemplo #1 Un ejemplo de htmlentities()
<?php
$str = "A 'quote' is <b>bold</b>";
// Produce: A 'quote' is <b>bold</b>
echo htmlentities($str);
// Produce: A 'quote' is <b>bold</b>
echo htmlentities($str, ENT_QUOTES);
?>
Ejemplo #2 Uso de ENT_IGNORE
<?php
$str = "\x8F!!!";
// Produce un string vacío
echo htmlentities($str, ENT_QUOTES, "UTF-8");
// Produce "!!!"
echo htmlentities($str, ENT_QUOTES | ENT_IGNORE, "UTF-8");
?>