html_entity_decode
Convertit toutes les entités HTML en caractères normaux
&reftitle.description;
stringhtml_entity_decode
stringstring
intquote_styleENT_COMPAT
stringcharset
html_entity_decode est la fonction contraire de
htmlentities : elle convertit les entités HTML de
la chaîne string en caractères normaux.
&reftitle.parameters;
string
La chaîne d'entrée.
quote_style
Le paramètre optionnel quote_style vous permet de
définir ce qu'il adviendra des guillemets simples et doubles. Ce
paramètre prend l'une des valeurs suivantes (et la valeur par défaut
est ENT_COMPAT) :
Constantes disponibles pour quote_style
Constante
Description
ENT_COMPAT
Convertit les guillemets doubles et ignore les guillemets simples.
ENT_QUOTES
Convertit les guillemets doubles et les guillemets simples.
ENT_NOQUOTES
Ne convertit aucun guillemet.
charset
Le jeu de caractères ISO-8859-1 est utilisé par défaut,
comme paramètre charset. Ce paramètre
permet de choisir le jeu de caractères utilisé dans la conversion.
&reference.strings.charsets;
&reftitle.returnvalues;
Retourne la chaîne décodée.
&reftitle.changelog;
&Version;
&Description;
5.0.0
Le support des jeux de caractères multi-octets a été ajouté.
&reftitle.examples;
Décoder des entités HTML
chien tout à l\'heure';
$a = htmlentities($orig);
$b = html_entity_decode($a);
echo $a; // J'ai "sorti" le <strong>chien</strong> tout à l'heure
echo $b; // J'ai "sorti" le chien tout à l'heure
// Pour les utilisateurs ayant des versions antérieures à PHP 4.3.0 :
function unhtmlentities($string)
{
// Remplace les entités numériques
$string = preg_replace('~([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
$string = preg_replace('~([0-9]+);~e', 'chr("\\1")', $string);
// Remplace les entités litérales
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
return strtr($string, $trans_tbl);
}
$c = unhtmlentities($a);
echo $c; // J'ai "sorti" le chien tout à l'heure
?>
]]>
&reftitle.notes;
Vous pourriez vous demander pourquoi
trim(html_entity_decode(' '));
ne réduit pas la chaîne à la chaîne vide. C'est parce
que l'entité
n'est pas un code ASCII 32 (qui serait supprimé par
trim), mais un code ASCII 160 (0xa0)
dans le jeu de caractères par défaut ISO 8859-1.
&reftitle.seealso;
htmlentities
htmlspecialchars
get_html_translation_table
urldecode