23-12-2008, 11:11 PM
Salut Tog,
Concernant les deux scripts PHP, ils sont identiques sur le résultat.
J'ai une préférence pour le premier qui est plus concis tout en étant plus clair et économique.
Par contre, travaille toujours avec les magic_quote à off. Je te laisse te documenter sur le Google, tu trouveras sans soucis.
Concernant l'insertion de données, j'évite généralement de dénaturer les insertions, et donc de n'utiliser les filtres qu'à l'affichage. Donc en l'occurrence, strip_tags() uniquement, puisque le htmlentities() ne sert plus si tu as déjà purgé les balises. A toi de voir si tu veux afficher un balisage qui ne sera pas interprété (ce que l'on obtient en retour de htmlentities()) ou bien des balises supprimées (cas de strip_tags()).
Donc pour ma part, et en partie pour des raisons d'esthétique, je préfère strip_tags().
J'en profite quand même pour souligner que contrairement à ce qui est dit, htmlentities() (et htmlspecialchars(), d'ailleurs) doit être utilisé différemment selon l'encodage. C'est également pour ça que je leur préfère strip_tags().
Sephi-Chan
Concernant les deux scripts PHP, ils sont identiques sur le résultat.
J'ai une préférence pour le premier qui est plus concis tout en étant plus clair et économique.
Par contre, travaille toujours avec les magic_quote à off. Je te laisse te documenter sur le Google, tu trouveras sans soucis.
Concernant l'insertion de données, j'évite généralement de dénaturer les insertions, et donc de n'utiliser les filtres qu'à l'affichage. Donc en l'occurrence, strip_tags() uniquement, puisque le htmlentities() ne sert plus si tu as déjà purgé les balises. A toi de voir si tu veux afficher un balisage qui ne sera pas interprété (ce que l'on obtient en retour de htmlentities()) ou bien des balises supprimées (cas de strip_tags()).
$str = "<balise>Jambon fumé</balise>";
// Affiche <balise>Jambon fumé</balise> dans le code source, ce qui donne "Jambon fumé" à l'écran.
echo '<p>', $str, '</p>';
/**
* Affiche <balise>Jambon fumé</balise> à l'écran (car mes pages sont en
* UTF-8 et par défaut, htmlentities retourne une chaîne encodée en ISO-8859-1).
*/
echo '<p>', htmlentities($str), '</p>';
// Affiche <balise>Jambon fumé</balise> à l'écran.
echo '<p>', htmlentities($str, null, 'UTF-8'), '</p>';
// Affiche Jambon fumé à l'écran et dans le code source.
echo '<p>', strip_tags($str), '</p>';
Donc pour ma part, et en partie pour des raisons d'esthétique, je préfère strip_tags().
J'en profite quand même pour souligner que contrairement à ce qui est dit, htmlentities() (et htmlspecialchars(), d'ailleurs) doit être utilisé différemment selon l'encodage. C'est également pour ça que je leur préfère strip_tags().
Sephi-Chan