Eregi_replace fonctionne pas

Résolu
spycollege Messages postés 50 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 8 mars 2007 - 27 sept. 2006 à 20:30
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 - 27 sept. 2006 à 21:38
bonjour à tous,

voilà le problème : j'ai installé une fonction eregi_replace afin de remplacer le code d'un smilie par son image.
Ca donne donc ça :
$r = mysql_db_query("ddb", "select * from smilies");
while ($row2 = mysql_fetch_object($r)) {
$smilie = eregi_replace($row2->code, 'url.'" />', $row->texte);
}
Et lorsque je lance la page, je trouve le texte tel quel, sans image ou sans texte en moins ou en plus.
Erreur de syntaxe ? aucune erreur affichée ni sur la page ni dans le code généré.
Quelqu'un a une idée ?

3 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
27 sept. 2006 à 21:23
Salut!
Tu devrais utiliser str_replace dans ce cas, nul besoin de regexp! Et même str_replace avec un array:

$replace = array();
$search = array();
while ($row2 = mysql_fetch_object($r))
{
  $replace[] = 'url . '" />';
  $search [] = $row2->code;
}

$txt = str_replace( $search, $replace, $txt );

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
3
spycollege Messages postés 50 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 8 mars 2007
27 sept. 2006 à 21:32
merci !

ça marche à la perfection, mais je me documenterai quand même sur les array pasque là j'ai pas tout capté ;)

encore merci ^^
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
27 sept. 2006 à 21:38
En fait, str_replace prend deux types de params, soit deux chaines:
'aaa' et 'bbb' --> remplace 'aaa' par 'bbb'
Ou bien des tableaux
array( 'A', 'B', 'C' ) et array( 'a', 'b', 'c' ) --> replace A par a, B par b et C par c

Les lignes:
$replace[] = 'url . '" />';
$search [] = $row2->code;
Créent une nouvelle entrée dans les tableau de recherche et de remplacement... :-)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Rejoignez-nous