Bonjour !
Mon source est un fichier codé en markdown, avec (potentiellement) des liens sur différentes URL. Typiquement :
$texte = "...blah... [libellé_1](http://www.site1.com) ...blah... [libellé_2](http://www.site2.com) ...blah..."
Je veux catcher ces Liens les uns après les autres, dans une boucle.
Donc au 1er passage, je cherche à matcher séparément le [libellé1] d'une part, le (lien site1) qui le suit d'autre part.
Pour ce faire, j'utilise 2 preg_match :
- pour le libellé : $int = preg_match ('/(\[.*\])/',$texte,$matches);
- & pour le lien : $int = preg_match ('/(\(.*\))/',$texte,$matches);
Sauf que chacune de ces expressions s'arrête sur la DERNIERE occurrence trouvée de "]" et de ")" et non sur la PREMIERE.
J'obtiens donc :
- pour le libellé : [libellé_1](http://www.site1.com) ...blah... [libellé_2]
- & pour le lien : (http://www.site1.com) ...blah... [libellé_2](http://www.site2.com)
...au lieu d'obtenir :
- pour le libellé : [libellé_1]
- & pour le lien : (http://www.site1.com)
Quelqu'un peut-il m'aider (....je suis NULL en expressions régulières... ) ?
Merci !
Partager