Bonjour,
Je bute sur une regex et je n'arrive pas à continuer mon boulot sans elle, alors après quelques recherches infructueuses je me permet de vous solliciter pour trouver mon bonheur :p.
En bref à partir du code HTML d'une page je souhaite obtenir un lien qui contient un mot clé et capturer différentes partie de ce lien, exemple (ici le mot clé sera "contact") :
Ici j'aimerais tout d'abord trouver ce lien et capturer '<a href="' , 'presse/nous-contacter/' , et '" >Nous contacter</a>', jusque la pas de problème j'y parviens grâce à cette regex :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="presse/nous-contacter/" >Nous contacter</a>
Je n'avais pas réfléchi à un cas qui pourrait se présenter, parfois le lien est de la forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part (<a [^>]*href=["']{1})([^"']*)(["']{1}[^>]*>[^<]*?contact[^<]*?</a>)et dans ce cas la... ma regex ne capture pas puisque j'utilisais [^<]* pour ne pas avoir plusieurs liens capturés en même temps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a ...><strong>*contact*</strong></a>
Ce que je cherche à faire c'est capturer un lien peu importe ce qu'il y a comme balises (sauf </a> balise fermante du lien..) entre <a> et </a> , mais je n'y parviens passi je vire les [^<]* de chaque coté de contact je me retrouve avec des matchs de plusieurs liens, et je ne sais pas comment faire pour dire "n'importe quel caractère tant qu'il n'y a pas cette chaine (</a>).
Un petit coup de main ne serait pas de refus
J'espère que je ne vous ai pas perdu en route, je ne suis pas très doué pour les explications...
Merci








Répondre avec citation
Partager