[RESOLU] Extraire des données d'une balise A avec des Regex

Eléphanteau du PHP | 48 Messages

30 déc. 2015, 22:09

Salut,

Voici mon point faible : les Regex...

Je cherche à extraire des données d'une balise A et j'imagine que les Regex sont la meilleure solution pour faire ça proprement.

Voici ce que je veux faire :

Code : Tout sélectionner

$balise = '<a href="http://www.un-site.com/page.html" target="_blank" rel="nofollow" title="Mon site">Cliquez sur ce lien</a>';
Je veux pouvoir stocker dans des variables, chacun des éléments (href, target, rel, title et aussi l'ancre) s'ils sont présents.

Merci beaucoup !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

30 déc. 2015, 23:25

Bonjour,

Je te conseille d'utiliser le site regex101 pour mettre au point tes regex, c'est vraiment un outil pratique qui te permet de visualiser en temps réel les modifs que tu fais.

Voici une piste pour gérer les liens exactement sous la forme que tu as donné :
https://regex101.com/r/oM9cC4/2

Je te laisse l'adapter si certains des paramètres ne sont pas dans cet ordre ou ne sont pas renseignés.


Sinon une autre méthode qui devrait marcher c'est de passer par un loadHTML puis de parcourir le dom : http://php.net/manual/fr/domdocument.loadhtml.php
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 48 Messages

31 déc. 2015, 00:32

C'est magnifique ! Merci beaucoup ! Merci merci !!!