[Smarty] Remplacer les caractères ...

17.07.2007, 14:49 Salut !

Ca fait plusieurs semaines que je cherche desespérement le moyen de remplacer les accents contenu dans une chaine de caractères par des caractères sans accent.

Il semble qu'une telle fonction n'existe pas (ou je ne suis pas tombé dessus !).

Donc j'aurai voulu savoir si quelqu'un s'était déjà penché sur le problème ?

En effet, je me sert du titre de mes publication pour faire de l'URL Rewriting. Cependant, les caractères avec accent disparaissent lors du regex_replace donc je cherche le moyen de m'éviter quelque chose du genre : $titre|replace"é":"e"|br@@
http://stephaneey.developpez.com/tutoriel/php/php5_nouveautes/
Starguezer
Starguezer
Starguezer
Messages : 39
17.07.2007, 19:24
Codefunction _filter($in) {
$search = array (\@[éèêëÊË]@i',\@[àâäÂÄ]@i',\@[îïÎÏ]@i',\@[ûùüÛÜ]@i',\@[ôöÔÖ]@i',\@[ç]@i',\@[^a-zA-Z ]@\ ;) ;
$replace = array ('e','a','i','u','o','c',' ');
return preg_replace($search, $replace, $in);
}


un truc dans ce genre là ;)

une petite remarque par contre, je vais dans quelques mois diffuser un url rewriting optimisé pour postnuke, donc ca serait cool de ne pas publier ton rewriting si tu réutilises mon code.

Merci d'avance
mumuri forum.ashots.org
mumuri
mumuri
Messages : 12 756
17.07.2007, 19:29 Merci beaucoup pour ta fonction mais comment l'utilises tu ?
Désolé, je n'ai jamais créé de fonctions pour smarty :s
Où est-ce que je la met ? Comment nommer le fichier et faire appel à la fonction ?

Je n'ai pas trop compris le sens de ta phrase :s
Tu ne veux dire que tu préfères que je garde mon URL rewriting pour moi pour ne pas faire de l'ombre au tien ? (si c'est le cas, tu n'as aucune peur à avoir car le mien est certes fonctionnel, mais très moche et uniquement adapté à mon site ;) )
Starguezer
Starguezer
Starguezer
Messages : 39
17.07.2007, 19:38 okben le plus simple est d'implémenter un smarty filter, regarde dans "system\pnRender\plugins". tu verras d'autres exemples.

Code/** * * Example * *
<!--[$url|filter]--> */

function smarty_modifier_filter($string){
$search = array (\@[éèêëÊË]@i',\@[àâäÂÄ]@i',\@[îïÎÏ]@i',\@[ûùüÛÜ]@i',\@[ôöÔÖ]@i',\@[ç]@i',\@[^a-zA-Z ]@\ ;) ;
$replace = array ('e','a','i','u','o','c',' ');
return preg_replace($search, $replace, string);}


ensuite dans ton code tu fais un pipe filter pour tous les urls.
mumuri forum.ashots.org
mumuri
mumuri
Messages : 12 756
17.07.2007, 20:27 Nikel ! Ca fonctionne à merveille !!!

Merci beaucoup !!! Depuis le temps que je cherchai ca ! :love
Starguezer
Starguezer
Starguezer
Messages : 39

  • forum
  • dessin animé
  • allo ciné
  • astuces de jeux vidéos
  • smileys
  • avis films
  • anime
  • séries télé
  • bourse
  • avis livres
Tous droits réservés © 2008 . Top flood Crédits des logiciels tiers.   - en partenariat avec flood.fr .