Renseignements sur les eregs

kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005 - 16 nov. 2005 à 04:45
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 16 nov. 2005 à 08:37
salut !!

j'aurais voulu savoir comment fonctionne les fonctions str_replace et equivalentes.
est ce que c'est a la premiere chaine trouvee ou a celle qui correspond le mieux ?

par exemple, pour un forum, je voudrais faire un bout de code qui remplace des mots-clefs
par une image, une sorte de pseudo-smiley quoi. par ex remplacer le mot wanadoo par
le logo du FAI

mon soucis c'est que je voudrais aussi que le texte soit remplace par des "lettres-images"
le a deviens
le b .....

donc pour mon logo wanadoo, vu que c'est un pseudo-smiley, il ne doit pas etre converti en w.jpg a.jpg .....

accessoirement, c'est pour fonctionner avec un forum base sur phpbb, avec du bbcode.
si le bbcode pouvais passez au travers de la conversion .....

sinon il faudra que je me tape le decoupage du texte mot a mot, avec analyse de chaque morceaux pour savoir
comment il faut le convertir ..... j'en ai deja des sueurs froides :-)

merci d'avance

1 réponse

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
16 nov. 2005 à 08:37
Hello,

bon, plusieurs choses :

- les eregs ... : je suppose que par là, tu entends "expressions régulières". Un très bon site pour apprendre, se perfectionner, et venir se raffraîchir la mémoire quand on est un pro des expregs : http://www.expreg.com. Le forum de ce site est aussi très bien quand on bloque sur une expression régulière particulièrement hardue que les gourous des forums de prog habituels ont du mal à résoudre, parce que Yves, le webmaster de ce site est une référence en la matière...Très, très fort!
Concernant les fonctions php utilisant les expressions régulières, vas voir du côté des preg_machin ou ereg_machin (sachan que les preg_machin sont plus rapides; ce sont les PCRE) : http://fr.php.net/manual/fr/function.preg-match.php

- str_replace : cette fonction n'utilise pas les expressions régulières. Elle est bien plus rapide qu'une fonction les utilisant, mais plus limitée aussi. Ceci dit, quand tu peux utiliser str_replace, préfère la à une expreg (question d'optimisation et d'utilisation intelligente des fonctions). Pour son utilisation, plutôt que de t'expliquer :
http://fr.php.net/manual/fr/function.str-replace.php

- pour ton problème : le remplacement des lettres dans TOUS le message peut se faire avec str_replace(). Concernant ton logo wanadoo, je n'ai pas pigé ce que tu voulais ;-) Pour le bbcode, ça va être simple si tu différencie bien ce que TU veux modifier, et ce que le parser de phpbb (quelle horreur, pourquoi ce forum...?) modifie.
0
Rejoignez-nous