Transformer les caractères spéciaux

Invité
Invité n'ayant pas de compte PHPfrance

04 mars 2006, 19:54

Bonsoir a tous !!

Je recherche une fonction me permettant de transformer un mot contenant des caractères spéciaux en en caractères normaux.

Par exemple :

éçêëàô ---> eceeao

Je voudrais que ca marche pour tous les caractères spéciaux qui existent.

Si vous avez des pistes je suis preneur.

Merci beaucoup.

evets

Mammouth du PHP | 19672 Messages

04 mars 2006, 20:08

Regarde dans les tutos du site de PHPFrance, celui par exemple sur les magic_quotes comporte un bout de code qui fera ce que tu veux faire. Il n'existe pas de fonction native en PHP pour faire ça à ma connaissance.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

04 mars 2006, 20:15

strtr() peut être :-k

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

05 mars 2006, 01:30

merci beaucoup pour vos réponses précises.

Je pensais qu'une fonction existait. Je vais essayer la strtr.

:wink:

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

05 mars 2006, 01:48

Note que strtr() ne fonctionnera pas en UTF-8 (mode d'encodage des caractères). Je me rappelle avoir lu ici une solution qui ressemblait à:
preg_replace('#&([aeiouc])[a-z]*;#', '$1', htmlentities($texte, ENT_NOQUOTES, 'iso-8859-1'))
...où 'iso-8859-1' peut être remplacé par l'encodage utilisé. C'est très loin d'être la solution universelle, mais c'est facile à ajouter et ça pourrait marcher dans ton cas.

Transcription et translittération @ wikipedia.org
php_translit @ PECL