Hello,
j'ai un petit script de recherche dans un de mes sites que je souhaite améliorer. Actuellement, l'utilisateur entre son texte recherché puis voit des liens. Chaque lien retourné est du type {url_page}?highlight=mot-clé
Et dans la page, j'ai bien mes mots clés recherchés en surligné. Je le fais ainsi :
Code :
- $page_content = preg_replace("/($highlight)/i","<span class=\"highlight\">$1</span>",$page_content);
|
Mais voilà, le hic est ici :
$page_content contient le code HTML (juste un des conteneurs du body, puisque mon site utilise un template) et c'est sur TOUT ce code HTML de la variable qu'est effectuée la recherche.
Ce qui peut conduire à un résultat tel que (un exemple de source) :
Page "seule" (sans surlignage)
Code :
- <h2 id="sous-cat1">Exemple de sous catégorie</h2>
|
page appelée via le moteur de recherche avec surlignage du mot "sous" : {URL_PAGE}?highlight=sous
Code :
- <h2 id="<span class="highlight">sous</span>-cat1">Exemple de <span class="highlight">sous</span> catégorie</h2>
|
Alors effectivement mettre le span, sur le contenu du H2, très bien mais pas sur son ID...
Existe-t-il une solution ?
Merci pour vos éclaircissements.
Message édité par NewsletTux le 22-03-2009 à 10:41:16
---------------
NewsletTux - outil de mailing list en PHP MySQL