Aller au contenu

Probleme pour concevoir une expression reguliere


lokicorp

Sujets conseillés

Bonjour,

Je cherche à utiliser la fonction preg_replace dans le moteur de recherche de mon site (pour précision c'est un site dynamique ou le contenu des pages se trouve dans une DB).

Lorsqu'un visiteur saisie une chaine de caractères dans ce moteur de recherche cela lui affiche un certain nombre de résultat et si il en sélectionne un, il se retrouve sur la page concernée avec toutes les occurrences de la chaine recherchée surlignées en jaune.

seulement voilà ma fonction preg_replace qui devrait exclure les balises html de mise en forme de la page ne le fait pas tout le temps, et de temps à autre je me retrouve avec balises html surlignées en jaunes....

ex: si je cherche la chaine "réf" il va me ramener des pages contenants les mots "référant, référence...." mais aussi les balises html "<a href="

voilà l'expression régulière que j'utilise :


$regex2 = "#([^<][\w\s=/\"_-]+)(".$_SESSION['recherche_litterale'].")([\w\s]+[^>])#isU";

echo preg_replace($regex2,"$1<font style=\"background-color: #ffff00\">$2</font>$3",$rq['art_contenu']);

merci d'avance de votre aide, moi là je tourne en rond....

Lien vers le commentaire
Partager sur d’autres sites

Bon j'ai trouvé tout seul comme un grand... Pour ceux que ça peut intéresser voilà ma regex :


$regex2 = "#(>[\w\sàáâãäåæçèéêëìíîïðñòóôõöøÞùúûüýÿ÷%§~{}|@°£€µ&$\\/\(\).,;_:'\"\#\[\]!?*+-]*)(".$_SESSION['recherche_litterale'].")([\w\sàáâãäåæçèéêëìíîïðñòóôõöøÞùúûüýÿ÷%§~{}|@°£€µ&$\\/\(\).,;_:'\"\#\[\]!?*+-]*<)#isU";

echo preg_replace($regex2,"$1<font style=\"background-color: #ffff00\">$2</font>$3",$rq['art_contenu']);

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...