CONVERTION CARACTÈRE SPÉCIAUX EN CODE HTML

Signaler
Messages postés
76
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
12 mars 2009
-
Messages postés
3
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
31 octobre 2008
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48245-convertion-caractere-speciaux-en-code-html

Messages postés
3
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
31 octobre 2008

Bonjour à tous,

Je vois que cette source pose polémique. Pourquoi cette source?
- Apres plusieurs essaie avec "htmlentities()" et "htmlspecialchars()" qui, pour une raison inconnu, ne fonctionnaient pas ?

j'ai cherché une source pour remplacer les caractères é,è,ç,à,à,... par leur équivalent html. La seul source trouvé était en JS; étant plus familier avec PHP, je l'ai traduite.

Pourquoi ai-je besoin de ceci?
- Lors d'envoi de formulaire au format mail/html, et en testant les différente boites, je me suis aperçut que les caractère n'étaient par afficher correctement chez free contrairement à Gmail et hotmail?
tout simplement j'ai utilisé htmlentities() cela ne fonctionnait pas... après plusieurs heures de recherche j'ai trouvé cette solution.

Voila la raison de ce post :((
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Au temps pour moi... Suis allé trop vite.
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

Même pas un snippet... .. .

Je pense, Dede013, que tu as pris le problème à l'envers en voulant réinventer la roue... la question est pour quoi htmlentities() ne te convient pas... besoin spécifique auquel la fonction ne peut pas répondre... ça m'étonne... surement plus un problème d'utilisation... problème d'encodage ? de charset ? si tu nous disait ce qui te va pas avec htmlentities()... .. .

@ tchaOo°

@ Neige... strtr() ne marchera pas... c'est un remplacement caractère contre caractère et les entités html font plus d'un caractère... .. .

...par contre... str_replace(array('cars'),array('entities'), $str)
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Salut,

Je suis navré, mais cette source souffre de nombreux défauts :
- comme le souligne Guismo1er, une fonction PHP permet déjà de faire ça, de manière certainement plus rapide et peut-être plus exhaustive
- quitte à utiliser ce tableau, autant utiliser une fonction php appropriée, plutôt que de parcourir bêtement la chaîne... La fonction strtr() ( http://fr.php.net/strtr ) sert justement à ça
- quitte à vraiment vouloir parcourir la chaîne, autant le faire de manière élégante en utilisant un otérateur (par exemple StringIterator que j'ai posté ici-même), avec des filtres ou des fonctions de remplacement.
- cette source n'est pas une source, tout au plus un snippet...
Messages postés
76
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
12 mars 2009

en quoi, htmlentities() ne fonctionne pas?