Détecter l'absence de balises <a>
totoyo47
Messages postés
291
Statut
Membre
-
DelNC Messages postés 2360 Statut Membre -
DelNC Messages postés 2360 Statut Membre -
Bonjour,
Dans mon texte, je souhaite que certains mots affichent la définition contenue dans une info-bulle. Jusque-là, ma regex marche bien.
Pour info, $regex ressemble à ça : "mot1|mot2|mot3|...".
Cependant, quand l'url d'un lien contient l'un de ces mots, cela détruit le lien.
Par exemple, j'ai ce résultat :
J'aimerai que ma regex ne matche pas quand le mot est présent dans la balise <a>. J'ai tenté de cette façon, sans succès :
Merci de votre aide !
Dans mon texte, je souhaite que certains mots affichent la définition contenue dans une info-bulle. Jusque-là, ma regex marche bien.
Pour info, $regex ressemble à ça : "mot1|mot2|mot3|...".
$text = preg_replace('#('.$regex.')#i', '<a class="lexique no-color" data-poload="/index.php">$0</a>', $text);
Cependant, quand l'url d'un lien contient l'un de ces mots, cela détruit le lien.
Par exemple, j'ai ce résultat :
Lecture complémentaire : transport-bilan-socio-economique-CGDD-sante-publique-26829.php4#xtor=AL-33" target="_blank">sur Actu-Environnement
J'aimerai que ma regex ne matche pas quand le mot est présent dans la balise <a>. J'ai tenté de cette façon, sans succès :
$text = preg_replace('#(?!\<a)('.$regex.')(?!\<\/a)#i', '<a class="lexique no-color" data-poload="/index.php">$1</a>', $text);
Merci de votre aide !
1 réponse
-
Bonjour
je te montre comment je procède pour faire des infos bulles.
Avec un lien sur une autre page ou une autre partie de la page<a class="info" href="page2.php"><span><center>page suivante PRECEDENTE</center></span> Page Suivanteprécédente </a>
NB dans la partie <span></span> tu écris le texte qui se situe dans l'info bulle
Et pour une info bulle sur du texte<a class="info" href=""><span><center>Information sur le texte</center></span> Mon texte </a>
En fait, j'utilise une <a> mais je ne mets pas l'adresse
Pour que tout çà marche j'utilise ce cssa.info{ position : relative; font-size : 18px; text-decoration : none;/*blink;*/ font-weight : bold;/*normal;*/ } a.info:hover{ font-weight : bold;/*normal;*/ font-style : italic; font-size : 18px; color : red; } a.info span{ display: none } a.info:hover span{ display :block; position :absolute; top :1em; left:1em; width:9em; border :1px solid #000; background-color :lightgrey; color :#000; text-align :center; font-weight :none; padding :5px; }-
Bonjour DeINC,
Je te remercie de ta réponse très claire. Toutefois, ce n'était pas ma question, je sais faire les infobulles.
Ma demande porte sur la regex.
Un lien où elle plante : http://mobilidoc.fr/document-170 (en fin de description)Lecture complémentaire : transport-voisinage-26993.php4" target="_blank">Actu-environnement
-
-
Pardon, j'étais très occupée ces jours ci.
Voilà un lien qui sur les expressions rationnelles (regex)
https://www.php.net/manual/fr/regex.examples.php
-