Bonjour à tous,
Je reste perplexe devant le résultat obtenu...
Ma fonction est censé prendre une String et la convertir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function NomToCodeUrl($in) { $search = array ('@[éèêëÊË]@i','@[àâäÂÄ\@]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_-]@'); $replace = array ('e','a','i','u','o','c','-',''); //la fonction rtrim supprime les espaces en fin de chaine return rtrim(preg_replace($search, $replace, $in)); }
Exemple attendu :
Hors le problème c'est que j'obtiens : 'Il-eetait-une-fois-a-louest'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $StringEntree = "Il était une fois @ l'ouest"; $StringSortie = "Il-etait-une-fois-a-louest";
J'obtiens un doublement des e
Et par exemple si je passe 'für' j'obtiens : 'feur'... au lieu de 'fur' !
Bizarre...
Et quand je modifie $replace = array ('e','a','i','u','o','c','-',''); en $replace = array ('','a','i','u','o','c','-',''); je n'ai plus le doublement des e, mais j'ai pu de e à la place des éèëê...
Une idée ??
Merci d'avance, là je ne vois pas...
Cordialement,
Thec![]()
Partager