Convertissez certains caractères en entités HTML :
<?php$str = "<© W3CSçh°°¦§>";echo htmlentities($str);?>La sortie HTML du code ci-dessus est la suivante (voir le code source) :
<!DOCTYPE html><html><body><© W3CSçh°°¦§></body></html>La sortie du navigateur du code ci-dessus est la suivante :
<© W3CSçh°°¦§>La fonction htmlentities() convertit les caractères en entités HTML.
Astuce : Pour reconvertir les entités HTML en caractères, utilisez la fonction html_entity_decode().
Astuce : utilisez la fonction get_html_translation_table() pour renvoyer la table de traduction utilisée par htmlentities().
htmlentities ( chaîne, drapeaux, jeu de caractères, double_encode )
paramètre | décrire |
---|---|
chaîne | Requis. Spécifie la chaîne à convertir. |
drapeaux | Facultatif. Spécifie comment gérer les guillemets, les encodages non valides et quel type de document utiliser. Types de devis disponibles : ENT_COMPAT - Par défaut. Seuls les guillemets doubles sont codés. ENT_QUOTES - Encode les guillemets doubles et simples. ENT_NOQUOTES - Ne coder aucun guillemet. Encodage invalide : ENT_IGNORE - Ignore les encodages invalides au lieu de laisser la fonction renvoyer une chaîne vide. Cela doit être évité car cela pourrait avoir un impact sur la sécurité. ENT_SUBSTITUTE - Remplace un codage invalide avec le caractère spécifié par le caractère de remplacement Unicode U+FFFD (UTF-8) ou &#FFFD; au lieu de renvoyer une chaîne vide. ENT_DISALLOWED - Remplace les points de code non valides dans le type de document spécifié par les caractères de remplacement Unicode U+FFFD (UTF-8) ou &#FFFD;. Indicateurs supplémentaires spécifiant le type de document à utiliser : ENT_HTML401 - Par défaut. Code traité en HTML 4.01. ENT_HTML5 - code traité en HTML 5. ENT_XML1 - Code traité en XML 1. ENT_XHTML - comme code de traitement XHTML. |
jeu de caractères | Facultatif. Une chaîne spécifiant le jeu de caractères à utiliser. Valeurs autorisées : UTF-8 - Par défaut. Unicode 8 bits multi-octets compatible ASCII ISO-8859-1 - Europe occidentale ISO-8859-15 - Europe occidentale (ajout du symbole de l'euro + lettres françaises et finlandaises manquantes dans l'ISO-8859-1) cp866 - Jeu de caractères cyrilliques spécifiques au DOS cp1251 - Jeu de caractères cyrilliques spécifique à Windows cp1252 - Jeu de caractères d'Europe occidentale spécifique à Windows KOI8-R - Russe BIG5 - Chinois traditionnel, principalement utilisé à Taiwan GB2312 - Chinois simplifié, jeu de caractères standard national BIG5-HKSCS - Big5 avec extension Hong Kong Shift_JIS - japonais EUC-JP - Japonais MacRoman - Jeu de caractères utilisé par le système d'exploitation Mac Remarque : Dans les versions antérieures à PHP 5.4, les jeux de caractères non reconnus étaient ignorés et remplacés par ISO-8859-1. Depuis PHP 5.4, les jeux de caractères non reconnus sont ignorés et remplacés par UTF-8. |
double_encode | Facultatif. Valeur booléenne qui spécifie s'il faut encoder les entités HTML existantes. VRAI - Par défaut. Chaque entité sera convertie. FAUX - Les entités HTML existantes ne seront pas encodées. |
Valeur de retour : | Renvoie la chaîne convertie. Si la chaîne contient un encodage non valide, une chaîne vide est renvoyée sauf si l'indicateur ENT_IGNORE ou ENT_SUBSTITUTE est défini. |
---|---|
Version PHP : | 4+ |
Journal de mise à jour : | Dans PHP 5, la valeur par défaut du paramètre de jeu de caractères est devenue UTF-8. En PHP 5.4, nouveaux : ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 et ENT_XHTML. Dans PHP 5.3, ENT_IGNORE a été ajouté. Dans PHP 5.2.3, le paramètre double_encode a été ajouté. Dans PHP 4.1, le paramètre caractère-set a été ajouté. |
Convertissez certains caractères en entités HTML :
<?php$str = "Jane & 'Tarzan'";echo htmlentities($str, ENT_COMPAT); // Convertira uniquement les guillemets doublesecho "<br>";echo htmlentities($str, ENT_QUOTES); guillemets simplesecho "<br>";echo htmlentities($str, ENT_NOQUOTES); // Ne convertit aucun guillemet ?>La sortie HTML du code ci-dessus est la suivante (voir le code source) :
<!DOCTYPE html><html><body>Jane et 'Tarzan'<br>Jane et 'Tarzan'<br>Jane 'Tarzan'</body></html>La sortie du navigateur du code ci-dessus est la suivante :
Jane et 'Tarzan'Jane et 'Tarzan'Jane et 'Tarzan'Convertissez certains caractères en entités HTML à l'aide du jeu de caractères d'Europe occidentale :
<?php$str = "Je m'appelle Øyvind Åsane. Je suis norvégien.";echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // Convertira uniquement les guillemets doubles (pas les guillemets simples), et utilise le jeu de caractères Europe occidentale ?>La sortie HTML du code ci-dessus est la suivante (voir le code source) :
<!DOCTYPE html><html><body>Je m'appelle Øyvind Åsane. Je suis norvégien.</body></html>La sortie du navigateur du code ci-dessus est la suivante :
Je m'appelle Øyvind Åsane. Je suis norvégien.