J'ai un fichier qui contient un tas de liens:Obtenir l'URL de lien spécifique en PHP
<a href="http://site1.com">site 1</a>
<a href="http://site2.com">site 2</a>
<a href="http://site3.com">site 3</a>
Je veux obtenir l'URL d'un lien avec un texte spécifique. Par exemple, la recherche de « site 2 » et Retournons « http://site2.com »
J'ai essayé ceci:
preg_match("/.*?[Hh][Rr][Ee][Ff]=\"(.*?)\">site 2<\/[Aa]>.*/", $contents, $match)
(Je sais que le HREF = sera la dernière partie de l'ancre)
Mais il retourne
http://site1.com">site 1</a><a href="http://site2.com
Est-il possible de faire une recherche en arrière, ou quelque chose? Je sais que je peux faire preg_match_all et boucler tout, mais j'essaie d'éviter cela.
Ce fichier est-il un fichier HTML? Si c'est le cas, vous pouvez facilement parcourir le fichier en tant que 'DOMDocument'. –
Non, malheureusement, ce n'est en aucun cas un document HTML bien formaté ou complet. –
Il ne doit pas nécessairement s'agir d'un document HTML complet bien formaté. Un analyseur DOM peut toujours être le bon outil pour ce travail. Une regex est probablement aussi bien. –