Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Htmlentities ou htmlspecialchars

kurt, le samedi 26 janvier 2008 à 13:50:56
Bonjour,

Comme je 'lindique ds le titre , quellle(s) est(st) les differences entre les foncitons php "htmlentities" et "htmlspecialchars" ??
Y en a-t-il une a privilegier par rapport a l'autre?

merci
Répondre à kurt  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Dalida, le samedi 26 janvier 2008 à 14:01:27
salut,

difficile de dire mieux que le manuel PHP.

pour htmlspecialchars :
Certains caractères ont des significations spéciales en HTML, et doivent être remplacés par des entités HTML pour être affichés. htmlspecialchars() remplace tous ces caractères par leur équivalent dans la chaîne string . Cette conversion est très pratique pour la programmation web. Si vous devez remplacer tous les caractères, utilisez plutôt htmlentities() à la place.

pour htmlentities:
htmlentities est identique à la fonction htmlspecialchars(), sauf que tous les caractères qui ont des équivalents en entités HTML sont effectivement traduits.

donc, 'htmlspecialchars()' convertit les caractères :
• "&" (et commercial) devient "&"
• """ (guillemets doubles) devient """ lorsque ENT_NOQUOTES n'est pas utilisée.
• "'" (single quote) devient "'" uniquement lorsque ENT_QUOTES est utilisée.
• "<" (inférieur à) devient "&lt;"
• ">" (supérieur à) devient "&gt;"

alors que 'htmlentities()' convertit tous les caractères comme 'à', 'é', 'è', etc…

htmlspecialchars
htmlentities

[ Mathieu ]
« On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007.
Répondre à Dalida

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kurt, le samedi 26 janvier 2008 à 14:37:29
merci pour ta reponse, dc en fait tout depend de si j'accepte dans mon champ de texte les caracteres speciaux qui ont des equivalents html ou pas ?
Répondre à kurt

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Dalida, le samedi 26 janvier 2008 à 14:53:47
tout dépend en gros de si tu veux transformer les caractères accentués ou pas.

de toute façon tu protèges les caractères qui ont une signification particulière en HTML : esperluettes, quotes, ouvertures et fermetures de balises.

[ Mathieu ]
« On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007.
Répondre à Dalida

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
kurt, le samedi 26 janvier 2008 à 16:34:27
et si je fais un htmlentites(htmlspecialchars( )); ?? comme ca il n'y aura pas de soucis de securité ??
Répondre à kurt

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Dalida, le samedi 26 janvier 2008 à 16:38:08
htmlentities est identique à la fonction htmlspecialchars(), sauf que tous les caractères qui ont des équivalents en entités HTML sont effectivement traduits.

ça ne servirait à rien hormis faire deux opérations au lieu d'une.
'htmlentities()' fait déjà le boulot de 'htmlspecialchars()' !!!

et pour la sécurité, tout dépend de ce que tu fais avec les valeurs, envoi d'un mail, stockage dans une BDD, affichage à l'écran…

[ Mathieu ]
« On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007.
Répondre à Dalida

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
denis, le samedi 26 janvier 2008 à 17:13:04
ok merci a toi j'ai compris =)
Répondre à denis

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 denis, le samedi 26 janvier 2008 à 17:13:24
denis = kurt
Répondre à denis
[PHP] Les ressemblances à ne pas confondre Les ressemblances à ne pas confondre Introduction Concatenation ou paramètres ? Guillemets/Apostrophe Structure require/include isset vs empty htmlentities ou htmlspecialchars ? Nombre de signes égal Introduction Cette astuce présente... www.commentcamarche.net/faq/sujet-4479-php-les-ressemblances-a-ne-pas-confondre
Retour à la ligne formulaire PHP mail (Résolu) Bonjour, Je sais que c'est question a souvent été posée mais bon... Je veux retranscrire les retours à la ligne dans mon form php en envoi mail J'ai essayé streplace de \r\n en mais comme j'ai désactivé les htmlspecialchars, ça ne... www.commentcamarche.net/forum/affich-4018101-retour-a-la-ligne-formulaire-php-mail
[sql/php]$GET injection sql (Résolu) bonjour, on m'a dit que sur ce code source il y avait une faille d'injection sql mais je ne vois pas comment la bouché donc pouvez vous m'aider svp ! www.commentcamarche.net/forum/affich-2735160-sql-php-get-injection-sql
Encore un code bidon ! cql (Résolu)Bonjour, Sa affiche rien ! la connexion cql est effectuée et fermée :/ $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); $reponse = mysql_query("SELECT * FROM membres WHERE pseudo ='$pseudo'") or... www.commentcamarche.net/forum/affich-8174683-encore-un-code-bidon-cql
Str_replace (Résolu)Bonjour, En PHP, dans un script de commentaires, il y a ce code quand l'utilisateur valide le formulaire : $date = date('d/m/Y\- H\:i'); $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); $commentaire =... www.commentcamarche.net/forum/affich-9611632-str-replace