htmlspecialchars

htmlspecialchars

(PHP 3, PHP 4, PHP 5)

htmlspecialchars --  Convierte caracteres especiales a entidades HTML

Descripci贸n

string htmlspecialchars ( string cadena [, int quote_style [, string juego_caracteres]] )

Ciertos caracteres tienen significados especiales en HTML, y deben ser representados por entidades HTML si se desea preservar su significado. Esta funci贸n devuelve una cadena con dichas conversiones realizadas, que por defecto son las m谩s habituales para la programaci贸n web. Si se requiere traducir todas las entidades HTML, se debe emplear la funci贸n htmlentities().

Esta funci贸n es 煤til para evitar que el texo introducido por el usuario contenga c贸digo HTML, como ocurre en aplicaciones de foros o libros de visita. El segundo par谩metro quote_style indica a la funci贸n el modo en el que se tienen que tratar las comillas simples y las comillas dobles. El modo por defecto es ENT_COMPAT, que es el modo retrocompatible que solo traduce las comillas dobles y deja intactas las comillas simples. Si se indica el valor ENT_QUOTES, se traduce tanto las comillas simples como las dobles. Por 煤ltimo, si se indica el valor ENT_NOQUOTES, no se traducen ni las comillas simples ni las dobles.

Actualmente, las traducciones realizadas son:

Ejemplo 1. Ejemplo de htmlspecialchars()

<?php
$nuevo
= htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo
$nuevo; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

N贸tese que esta funci贸n no traduce nada m谩s que lo mostrado m谩s arriba. Para realizar una traducci贸n de entidades completa, vea htmlentities(). El soporte del segundo par谩metro se incluy贸 en la versi贸n de PHP 3.0.17 y PHP 4.0.3.

El tercer argumento juego_caracteres define el juego de caracteres que se emplea en la conversi贸n. El juego de caracteres por defecto es el ISO-8859-1. El soporte de este par谩metro se incluy贸 en la versi贸n de PHP 4.1.0.

Los siguientes juegos de caracteres son soportados a partir de PHP 4.3.0.

Tabla 1. Juegos de caracteres soportados

Juego de caracteresAliasesDescripci贸n
ISO-8859-1ISO8859-1 Europeo Occidental, Latin-1
ISO-8859-15ISO8859-15 Europeo Occidental, Latin-9. A帽ade el signo de Euro, y letras del Franc茅s y Finland茅s que hac铆an falta en Latin-1(ISO-8859-1).
UTF-8  Multi-byte Unicode de 8-bits compatible con ASCII.
cp866ibm866, 866 Juego de caracteres cir铆licos espec铆fico de DOS. Este juego de caracteres est谩 soportado en 4.3.2.
cp1251Windows-1251, win-1251, 1251 Juego de caracteres cir铆licos espec铆fico de Windows. Este juego de caracteres est谩 soportado en 4.3.2.
cp1252Windows-1252, 1252 Juego de caracteres espec铆fico de Windows para Europa Occidental.
KOI8-Rkoi8-ru, koi8r Ruso. Este juego de caracteres est谩 soportado en 4.3.2.
BIG5950 Chino Tradicional, usado principalmente en Taiw谩n.
GB2312936 Chino Simplificado, juego de caracteres est谩ndar nacional.
BIG5-HKSCS  Big5 con extensiones de Hong Kong, Chino Tradicional.
Shift_JISSJIS, 932 Japon茅s
EUC-JPEUCJP Japon茅s

Nota: Cualquier otro juego de caracteres no es reconocido y en su lugar se utilizar谩 ISO-8859-1.

Vea tambi茅n get_html_translation_table(), strip_tags(), htmlentities() y nl2br().