[Résolu] Comment extraire les liens d'une pages ?

WRInaute discret
Bonjour à tous,

Bien que présent depuis un petit moment sur ce forum, je n'ai jamais "ouvert" un post :oops: .

Je sais que ce forum n'est pas un forum technique, mais je poste tout de même (en espérant que ce ne soit pas dans une mauvaise catégorie).

Bref, tout ça pour savoir si l'un d'entre vous connait une expression régulière (compatible PERL) qui permet d'extraire ce que contient le paramètre href d'une balise <a href="youpi"></a> (récupérer youpi dans cet exemple).

Merci par avance.

Doug

PS : Si ce post est déplacé ou ne correspond pas au forum, je n'en voudrai aucunement aux modérateurs s'ils le suppriment. :)
 
WRInaute passionné
Bon j'connais pas le PERL mais en php ça fait un truc genre :

Code:
<?php
$include = implode("", file("http://www.example.com"));
if(eregi("<a href=\"(.*)\">",$include,$href))
  {
   echo $href[1];
   }
?>

Suffit de trouver l'équivalent des fonctions pour PERL.
 
WRInaute discret
Merci de ton aide rottman,

En fait j'utilise les fonctions compatibles PERL au sein de PHP, donc ton code est le bienvenu :).

En revanche, avec ce dernier, j'ai le même problème qu'avec le mien, l'interpréteur prend du premier href jusqu'à la fin de la page, j'ai essayé je ne sais combien de cas de figure et je ne trouve toujours pas comment le stopper à la fin de chaque balise lien.

Merci encore en tout cas.

[edit : merci boussole, bien qu'ayant cherché je n'ai pas trouvé ce post, je suis vraiment nul en recherche WRI, j'ai toujours du mal à trouver ce que je veux]

A+

Doug
 
WRInaute occasionnel
Essaie plutot ca:

Code:
<?php
$include = implode("", file("http://www.example.com"));
if(eregi("<a href=\"(.*)\">(.*)</a>",$include,$href))
  {
   echo $href[1];
   }
?>

Dis nous si ca marche :wink:
 
WRInaute discret
Merci à vous deux [edit : vous trois, c'est de ton code de l'autre post dont je me suis inspiré] car en faisant un mix du code de rottman et de ce que contenait l'autre post je m'en suis sorti.

Code:
$pattern = "|href=\"(.*?)\"|im";

Ce pattern associé à un preg_match_all m'a permis d'obtenir tous les liens de ma page.

Merci encore et désolé du doublon.

A+

Doug
 
Discussions similaires
Haut