Fonction PHP htmlspecialchars()
Exemple
Convertissez les caractères prédéfinis "<" (inférieur à) et ">" (supérieur à) en entités HTML :
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
La sortie HTML du code ci-dessus sera (Afficher la source) :
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
La sortie du navigateur du code ci-dessus sera :
This is some <b>bold</b> text.
Définition et utilisation
La fonction htmlspecialchars() convertit certains caractères prédéfinis en entités HTML.
Les caractères prédéfinis sont :
- & (esperluette) devient &
- " (guillemet double) devient "
- ' (apostrophe) devient '
- < (inférieur à) devient <
- > (supérieur à) devient >
Astuce : Pour reconvertir des entités HTML spéciales en caractères, utilisez la fonction htmlspecialchars_decode() .
Syntaxe
htmlspecialchars(string,flags,character-set,double_encode)
Valeurs des paramètres
Parameter | Description |
---|---|
string | Required. Specifies the string to convert |
flags | Optional. Specifies how to handle quotes, invalid encoding and the used document type. The available quote styles are:
Invalid encoding:
Additional flags for specifying the used doctype:
|
character-set | Optional. A string that specifies which character-set to use. Allowed values are:
Note: Unrecognized character-sets will be ignored and replaced by ISO-8859-1 in versions prior to PHP 5.4. As of PHP 5.4, it will be ignored an replaced by UTF-8. |
double_encode | Optional. A boolean value that specifies whether to encode existing html entities or not.
|
Détails techniques
Valeur de retour : | Renvoie la chaîne convertie Si la chaîne contient un encodage non valide, elle renverra une chaîne vide, à moins que les indicateurs ENT_IGNORE ou ENT_SUBSTITUTE ne soient définis |
---|---|
Version PHP : | 4+ |
Journal des modifications : | PHP 5.6 - Modification de la valeur par défaut du paramètre de jeu de caractères
à la valeur du jeu de caractères par défaut (dans la configuration). PHP 5.4 - Modification de la valeur par défaut du paramètre de jeu de caractères en UTF-8. PHP 5.4 - Ajout de ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 et ENT_XHTML PHP 5.3 - Ajout de la constante ENT_IGNORE. PHP 5.2.3 - Ajout du paramètre double_encode . PHP 4.1 - Ajout du paramètre de jeu de caractères . |
Plus d'exemples
Exemple
Convertissez certains caractères prédéfinis en entités HTML :
<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // Does not convert any quotes
?>
La sortie HTML du code ci-dessus sera (Afficher la source) :
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
La sortie du navigateur du code ci-dessus sera :
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Exemple
Convertissez les guillemets doubles en entités HTML :
<?php
$str = 'I love "PHP".';
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
?>
La sortie HTML du code ci-dessus sera (Afficher la source) :
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
La sortie du navigateur du code ci-dessus sera :
I love "PHP".
❮ Référence de chaîne PHP