Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Salut,
J'ai un soucis avec Zend_Filter_PregReplace, et je pense que c'est dû à un problème d'encodage, mais pas moyen de trouver, alors avant de me mettre à pleurer comme un bébé je viens voir ici si qqun a une solution
J'utilise Zend_Filter_PregReplace pour supprimer les accents d'une chaine.
$filtreChaine = new Zend_Filter(); $filtreChaine->addFilter(new Zend_Filter_Word_SeparatorToDash()) ->addFilter(new Zend_Filter_PregReplace(array('@[éèêëÊË]@i','@[áãàâäÂÄ]@i','@[ìíiiîïÎÏ]@i','@[úûùüÛÜ]@i','@[òóõôöÔÖ]@i','@[ñÑ]@i','@[ýÿÝ]@i','@[ç]@i','@[:]@i'),array('e','a','i','u','o','n','y','c',''))); $identifiant = $filtreChaine->filter($string);
Mais en faisant cela, il transforme systématiquement tout par la bonne lettre préfixé par la lettre e.
Dans la regex vous pouvez voir que je transforme aussi les deux points ':' par rien '', et dans ce cas là, il ne met pas de lettre e débarquée de nul part.
Exemple :
éîôû se transforme en : eeeieoeu
Si vous avez une idée de ce qui se passe, je vous en remercie d'avance
Dernière modification par Paulop (26-05-2008 00:07:19)
Hors ligne
Pages: 1