| Précédent | Suivant |
Ces fonctions jouent un rôle important dans la traduction de certains caractères destinés à être affichés par le navigateur. La première convertit la plupart des diacritiques ou autrement dit caractères spéciaux en entités de caractères équivalentes. Si nous disons « la plupart », c’est que certains caractères tels que € ou « oe «ne sont pas traduits. La seconde convertit les caractères ayant un sens particulier dans les commandes HTML :
Le ET commercial (&) devient &.
Les chevrons ou balises (< et >) deviennent respectivement $lt ; et $gt ;.
Le guillemet (" ) devient " ; si le second argument ne vaut pas ENT_QUOTES.
Exemple
<?php
$new = htmlspecialchars("<a
href='test'>Test</a>", ENT_QUOTES);
ou
$new = htmlentities("<a
href='test'>Test</a>", ENT_QUOTES);
?>
NB : Si nous n’utilisons pas cette dernière fonction lorsque l’on récupère les éléments saisis dans les formulaires nous avons de forte chance d’avoir un comportement inattendu.
Exercice : (Voir annexe Les Formulaires Exercice 8).
Reprendre le formulaire de l’exercice 6 (Figure 4), et à l’aide de la fonction htmlentities() ou htmlspecialchars, supprimez les problèmes relatifs aux saisies des balise HTML dans les champs.