PHP htmlspecialchars() Fonction
Exemple
Convertir les caractères prédéfinis "<" (inférieur à) et ">" (supérieur à) en entités HTML :
<?php
$str = "Ceci est un texte <b>gras</b>.";
echo htmlspecialchars($str);
?> La sortie HTML du code ci-dessus sera (Voir la source) :
<!DOCTYPE html>
<html>
<body>
Ceci est un texte <b>gras</b>.
</body>
</html> La sortie du navigateur du code ci-dessus sera :
Ceci est un texte <b>gras</b>. 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 "
- ' (guillemet simple) devient '
- < (inférieur à) devient <
- > (supérieur à) devient >
Conseil : Pour convertir les entités HTML spéciales en caractères, utilisez la fonction htmlspecialchars_decode() .
Syntaxe
htmlspecialchars( chaîne,flags,encodage,double_encode ) Valeurs des Paramètres
| Paramètre | Description |
|---|---|
| chaîne | Requis. Spécifie la chaîne à convertir |
| flags | Optionnel. Spécifie comment gérer les guillemets, l'encodage invalide et le type de document utilisé. Les styles de guillemets disponibles sont :
Encodage invalide :
Drapeaux supplémentaires pour spécifier le doctype utilisé :
|
| encodage | Optionnel. Une chaîne qui spécifie quel jeu de caractères utiliser. Les valeurs autorisées sont :
|
| double_encode | Optionnel. Une valeur booléenne qui spécifie s'il faut encoder les entités HTML existantes ou non.
|
Détails Techniques
| Valeur de Retour : | Retourne la chaîne convertie Si la chaîne contient un encodage invalide, elle retournera une chaîne vide, sauf si les drapeaux ENT_IGNORE ou ENT_SUBSTITUTE sont définis |
|---|---|
| Version PHP : | 4+ |
Plus d'Exemples
Exemple
Convertir certains caractères prédéfinis en entités HTML :
<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // Ne convertira que les guillemets doubles
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // Convertit les guillemets doubles et simples
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // Ne convertit aucun guillemet
?> La sortie HTML du code ci-dessus sera (Voir 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
Convertir les guillemets doubles en entités HTML :
<?php
$str = 'J\'aime "PHP".';
echo htmlspecialchars($str, ENT_QUOTES); // Convertit les guillemets doubles et simples
?> La sortie HTML du code ci-dessus sera (Voir la source) :
<!DOCTYPE html>
<html>
<body>
J'aime "PHP".
</body>
</html> La sortie du navigateur du code ci-dessus sera :
J'aime "PHP".