Eregi_replace fonctionne pas [Résolu]

Signaler
Messages postés
50
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
8 mars 2007
-
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
-
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

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
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???"
Messages postés
50
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
8 mars 2007

merci !

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

encore merci ^^
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
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???"