PHP htmlspecialchars() function
Example
Convert predefined characters "<" (less than) and ">" (greater than) to HTML entities:
<?php $str = "This is some <b>bold</b> text."; echo htmlspecialchars($str); ?>
La sortie HTML du code suivant est la suivante (voir le code source) :
<!DOCTYPE html> <html> <body> This is some <b>bold</b> text. </body> </html>
La sortie du navigateur du code suivant :
This is some <b>bold</b> text.
Definition and usage
The htmlspecialchars() function converts predefined characters to HTML entities.
The predefined characters are:
- & (ampersand) becomes &
- " (double quote) becomes "
- ' (single quote) becomes '
- < (less than) becomes <
- > (greater than) becomes >
Tip:To convert special HTML entities back to characters, use htmlspecialchars_decode() Function.
Syntax
htmlspecialchars(string,flags,character-set,double_encode)
Parameter | Description |
---|---|
string | Required. Specifies the string to be converted. |
flags |
Optional. Specifies how to handle quotes, invalid encoding, and which document type to use. Available quote types:
Invalid encoding:
Drapeaux supplémentaires pour définir le type de document utilisé :
|
character-set |
Optionnel. Une chaîne indiquant l'ensemble de caractères à utiliser. Valeurs autorisées :
Remarque :Dans les versions de PHP 5.4 précédentes, les ensembles de caractères non reconnus étaient ignorés et remplacés par ISO-8859-1. Depuis PHP 5.4, les ensembles de caractères non reconnus sont ignorés et remplacés par UTF-8. |
double_encode |
Optionnel. Booléen, indiquant si les entités HTML existantes doivent être codées.
|
Détails techniques
Retour : |
Retourne la chaîne convertie. Si string Si l'encodage est invalide, une chaîne vide est retournée, sauf si l'un des drapeaux ENT_IGNORE ou ENT_SUBSTITUTE a été défini. |
Version PHP : | 4+ |
Journal des mises à jour : |
Dans PHP 5,character-set La valeur par défaut du paramètre est modifiée en UTF-8. Dans PHP 5.4, les nouvelles fonctions ajoutées sont : ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 et ENT_XHTML. Dans PHP 5.3, une nouvelle fonction a été ajoutée : ENT_IGNORE. Dans PHP 5.2.3, une nouvelle fonction a été ajoutée double_encode Paramètres. Dans PHP 4.1, un nouveau character-set Paramètres. |
Plus d'exemples
Exemple 1
Convertir certains caractères prédéfinis en entités HTML :
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars($str, ENT_COMPAT); // Ne convertir que les guillemets doubles echo "<br>"; echo htmlspecialchars($str, ENT_QUOTES); // Convertir les guillemets doubles et simples echo "<br>"; echo htmlspecialchars($str, ENT_NOQUOTES); // Ne convertir aucune citation ?>
La sortie HTML du code suivant est la suivante (voir le code source) :
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
La sortie du navigateur du code suivant :
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Exemple 2
Convertir les guillemets doubles en entités HTML :
<?php $str = 'I love "PHP".'; echo htmlspecialchars($str, ENT_QUOTES); // Convertir les guillemets doubles et simples ?>
La sortie HTML du code suivant est la suivante (voir le code source) :
<!DOCTYPE html> <html> <body> Je aime "PHP". </body> </html>
La sortie du navigateur du code suivant :
Je aime "PHP".