Annonce ToutSurTout

Bienvenue sur toutsurtout.biz

Déjà 15 ans !

Radio TST

Si vous souhaitez participer vous aussi aux discussions sur le forum, il faut vous inscrire ou vous identifier.

Le Thème TST Automne est maintenant en place.

Les inscriptions sont actuellement OUVERTES.

Message 1 Discussion postée le 06-11-2011 à 00:54:19

Loic
Avatar de Loic


Titre: Administrateur d'élite
Avancement: Niveau 5
Lieu: Avec Solenne
Date d'inscription: 26-09-2009
Messages: 107 610
Site web

htmlentities ou htmlspecialchars ?

Ces fonction permettent de rendre "inoffensives" des variables, c'est a dire des remplacer certains caractères (notamment les chevrons ">" et "<") par leurs entités html.

cependant, il y a une légère différence entre les deux :

htmlentities remplace tous les caractères qui peuvent s'écrire avec des
entités par leurs entités html correspondantes.

Exemples :

é devient &eacute;
" devient &quot;
« devient &laquo;
< devient & lt; (sans espace après &)
& devient &amp;

htmlspecialchars remplace seulement les caractères spéciaux qui servent à coder :

Exemples :

< devient &lt;
> devient &gt;
" devient &quot,
& devient &amp;

La seule entité html que je connais et qui n'est pas remplacée par défaut est "&apos;", l'entité de l'apostrophe : '
On peut utiliser des options pour remplacer ou non certains caractères (se reporter a la documentation).
L'apostrophe est remplacé par ''' avec l'option ENT_QUOTES.

Quelle fonction utiliser ?
Je conseille plutôt htmlentities car les accents et autres caractères spéciaux sont remplacés, ce qui garantit que vous n'aurez pas d'erreur d'encodage.
Cependant, les fichiers sont plus lourds avec cette fonction, car une entité occupe 8 octets (je crois) de plus que le caractère qui lui correspond écrit tel quel.
htmlentities
htmlspecialchars


http://www.toutsurtout.biz/img/UserBarTST.gif
http://www.toutsurtout.biz/img/Sign-Loic.gif
Loic DL un jour, Loic DL toujours ...