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:
'&' (ampersand) se convierte en '&'
'"' (doble comilla) se convierte en '"' cuando no se utiliza la constante ENT_NOQUOTES.
''' (commilla simple) se convierte en ''' cuando se utiliza ENT_QUOTES.
'<' (menor que) se convierte en '<'
'>' (mayor que) se convierte en '>'
Ejemplo 1. Ejemplo de htmlspecialchars()
<?php $nuevo = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); echo $nuevo; // <a href='test'>Test</a> ?>
|
|
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 caracteres | Aliases | Descripción |
|---|
| ISO-8859-1 | ISO8859-1 |
Europeo Occidental, Latin-1
|
| ISO-8859-15 | ISO8859-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.
|
| cp866 | ibm866, 866 |
Juego de caracteres cirÃlicos especÃfico de DOS. Este
juego de caracteres está soportado en 4.3.2.
|
| cp1251 | Windows-1251, win-1251, 1251 |
Juego de caracteres cirÃlicos especÃfico de Windows. Este
juego de caracteres está soportado en 4.3.2.
|
| cp1252 | Windows-1252, 1252 |
Juego de caracteres especÃfico de Windows para Europa
Occidental.
|
| KOI8-R | koi8-ru, koi8r |
Ruso. Este juego de caracteres está soportado en 4.3.2.
|
| 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, 932 |
Japonés
|
| EUC-JP | EUCJP |
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().