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().

Hosting by: hurra.com
Generated: 2007-01-26 18:00:59