html_entity_decode
Convertit les entités HTML à leurs caractères correspondant
&reftitle.description;
stringhtml_entity_decode
stringstring
intflagsENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401
stringnullencoding&null;
html_entity_decode est la fonction contraire de
htmlentities : elle convertit les entités HTML de
la chaîne string en leurs caractères correspondant.
De façon plus explicite, cette fonction décode toutes les entités (incluant
les entités numériques) qui 1) sont nécessairement valides pour le type
de document choisi - i.e., pour XML, cette fonction ne décode pas les
entités nommées qui peuvent être définies dans une DTD - et 2) et dont le caractère
ou les caractères sont dans le jeu de caractères codé avec l'encodage choisi et
sont autorisés dans le type de document choisi. Toutes les autres entités
sont laissées telle que.
&reftitle.parameters;
string
La chaîne d'entrée.
flags
Un masque d'un ou plusieurs drapeaux suivants, qui spécifient la façon
dont doivent être gérés les guillemets et quel type de document doit être utilisé.
Par défaut, c'est ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
Constantes disponibles pour flags
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.
ENT_SUBSTITUTE
Remplace les séquences de code invalide avec un caractère de remplacement
Unicode U+FFFD (UTF-8) ou &#FFFD; (sinon) au lieu de retourner une
chaîne vide.
ENT_HTML401
Gère le code comme étant du HTML 4.01.
ENT_XML1
Gère le code comme étant du XML 1.
ENT_XHTML
Gère le code comme étant du XHTML.
ENT_HTML5
Gère le code comme étant du HTML 5.
encoding
&strings.parameter.encoding;
&reference.strings.charsets;
&reftitle.returnvalues;
Retourne la chaîne décodée.
&reftitle.changelog;
&Version;
&Description;
8.1.0
flags à changé de ENT_COMPAT à
ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
8.0.0
encoding est désormais nullable.
&reftitle.examples;
Décoder des entités HTML
chien tout à l\'heure';
$a = htmlentities($orig);
$b = html_entity_decode($a);
echo $a, PHP_EOL; // J'ai "sorti" le <strong>chien</strong> tout à l'heure
echo $b, PHP_EOL; // 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 l'encodage par défaut ISO 8859-1.
&reftitle.seealso;
htmlentities
htmlspecialchars
get_html_translation_table
urldecode