Bonjour,
Mon but est de surligner des mots dans un texte.
A priori, c'est simple. Mais le faire de manière efficace est une autre histoire... Voici un texte d'exemple et deux solutions foireuses :
Le Dell 1704FPV nouvelle version est équipé de la 1ère dalle PVA 16 ms. Serait-ce le 1er écran à concilier un temps de réponse rapide avec de larges angles de vue et un noir profond ?
Code :
- $chaineOk = eregi_replace ($mot, '<span style=\'background-color:red;\'>'.$mot.'</span>', $chaine);
|
Foireux à souhait : si mon mot est "le", je vais également surligner une partie des mots "nouvelle", "dalle", "angles".
Code :
- $chaineOk = eregi_replace ('[[:<:]]'.$mot.'.?[[:>:]]', '<span style=\'background-color:red;\'>'.$mot.'</span>', $chaine);
|
Plus intéressant : ça surligne bien le mot désiré comme il faut... mais il y a un problème. Pour les mots dont la première ou la dernière lettre est accentuée, pas de surlignage (ex: "écran" ). Pourtant, si le caractère accentué est au milieu du mot (ex: "manière" ), il n'y a pas de problème...
- Donc je ne comprends pas trop ce dysfonctionnement...
- Et je cherche la meilleure solution pour surligner des mots efficacement...
Une idée ????
Message édité par philipMo le 24-03-2005 à 20:34:58