Sortir un mot bien précis d'une chaine

CXII -  
Marden Messages postés 1075 Statut Membre -
Voilà, je me suis fait un petit moteur de recherche à un mot, dans une table, dont le champ contient une phrase.

J'aurais voulu pouvoir afficher le mot recherché surligné en jaune dans la phrase.

alors voilà, je me suis dit, il faut que je me mette un casseur de chaine (j'ai choisit explode()) et puis, il suffit de lui insérer entre un petit div pour la couleur, alors j'ai fait ça:

$textes = explode($motarechercher, $enrtext['texte']);
echo $textes[0];
echo '<div style="background:yellow">'.$motarechercher.'</div>';
echo $textes[1];

ce qui fonctionne très bien quand le mot est exactement identique, mais lorque le mot commence par une majuscule, ou qu'il y a un accent, ça fonctionne plus dutout!
alors, je suis callé, je ne sais pas quoi faire pour que celà fonctionne!

Si qqu'1 peut m'aider ça serrai cool

merci et @+
CXII
A voir également:

1 réponse

Marden Messages postés 1075 Statut Membre 210
 
Dans ce genre de problème, il faut passer par une copie du texte originel, avec conversion (tout en minuscules, remplacement des caractères accentués) en procédant de même pour le mot à chercher [dans la copie].
L'affichage, quand le mot est trouvé (en pos), utilise le texte originel :
de 0 à pos-1 : normal
de pos à pos+long-1 : souligné
de pos+long à fin : normal
Si plusieurs occurences, itérer sur le processus d'affichage.
0