SURLIGNAGE de plusieurs mots clés

xTonRx Messages postés 4 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 novembre 2010 - 30 nov. 2010 à 12:01
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 1 déc. 2010 à 09:59
bonjour à tous
cette focntion bug legerement, elle souligne que le premier mot clé, pk ?

SURLIGNAGE en PHP avec plusieurs mots clefs


function surligne($str,$mot) {
$mot2s = split(" ",$mot);
$nombre_mots=count($mot2s);
$z=0;
while($z<$nombre_mots) {
return eregi_replace("($mot2s[$z])","\\1","$str");
$z++;
}
}

6 réponses

syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
30 nov. 2010 à 13:16
ton return s'éxecute dès la premiere itération..donc dès le premier mot.
S.
0
xTonRx Messages postés 4 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 novembre 2010
30 nov. 2010 à 16:06
yes c'est exact
mais comment contourner ca ????
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
30 nov. 2010 à 16:18
Tu veux surligner chaque mot mais pas les espaces ? ou toute la chaine espace compris ?
S.
0
xTonRx Messages postés 4 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 novembre 2010
30 nov. 2010 à 16:26
juste souligner chauqe mots clefs

jarrive pas je bloque totalement là
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xTonRx Messages postés 4 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 novembre 2010
30 nov. 2010 à 18:11
function surligno($str,$mot) {
$mot2so = split(" ",$mot);
$nombre_mots=count($mot2so);
$za=0;
for ($za = 0; $za < $nombre_mots; $za++) {
$str = eregi_replace("($mot2so[$za])","\\1","$str");
}
return $str;
}
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
1 déc. 2010 à 09:59
Salut,

Attention à eregi_replace() qui est dépréciée et qui générera une alerte. Utilise preg_replace() à la place.

Je ne vois pas à quoi sert le split() et la boucle.
Une simple regex suffit.


Cordialement,


Kohntark -
0
Rejoignez-nous