[RESOLU] Extraire le contenue de toutes les balises href d'une page web et les mettre dans une array

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Extraire le contenue de toutes les balises href d'une page web et les mettre dans une array

Re: Extraire le contenue de toutes les balises href d'une page web et les mettre dans une array

par bagou450 » 25 oct. 2021, 14:40

J'ai reussi au final avec ceci

Code : Tout sélectionner

$url = 'Mon URL'; $pattern = '#(?:src|href|path|xmlns(?::xsl)?)\s*=\s*(?:"|\')\s*(.+)?\s*(?:"|\')#Ui'; $subject = file_get_contents($url); preg_match_all($pattern, $subject, $matches, PREG_PATTERN_ORDER); foreach($matches[1] as $match) { if (str_starts_with($match, './')) { $hrefresult= str_replace("./", "", $match); $hrefresult2= strtok($artifactslink, '-'); $tablo_liens[] = array( "hrefresult"=>$hrefresult, "another things"=>$hrefresult2 ); } } echo $tablo_liens;
Merci ;)

Re: Extraire le contenue de toutes les balises href d'une page web et les mettre dans une array

par or 1 » 25 oct. 2021, 13:53

non, pas avec le code donné en exemple.

Re: Extraire le contenue de toutes les balises href d'une page web et les mettre dans une array

par bagou450 » 25 oct. 2021, 12:49

Oui mais le probleme c est que cela va reattribuer la variable a chaque fois et non ajouter des ligne a une array

Re: Extraire le contenue de toutes les balises href d'une page web et les mettre dans une array

par @rthur » 25 oct. 2021, 10:58

Fais un var_dump($link) pour voir ce que tu récupères dans ton foreach()

Et ensuite tu construis un tableau avec les infos que tu veux en remplaçant firsthrefresulthere par ce que tu as extrait et que tu trouves dans $link :
$tablo_liens[] = array(
     "hrefresult"=>"firsthrefresulthere", 
     "another things"=>"here"
);

Extraire le contenue de toutes les balises href d'une page web et les mettre dans une array

par bagou450 » 25 oct. 2021, 10:48

Bonjour,

Je voudrais savoir comment je peut extraire le contenue de toutes les balises href d'une page web et les mettre dans une array

Code : Tout sélectionner

$html = file_get_contents('Ma page web'); $dom = new DOMDocument; @$dom->loadHTML($html); $links = $dom->getElementsByTagName('href'); foreach ($links as $link){ }
Pour l'instant j'ai ceci mais je ne sais pas comment les mettre dans une array sachant que a la fin je voudrais un json resemblant a ceci

Code : Tout sélectionner

{ [ "hrefresult": "firsthrefresulthere", "another things": "here" ], [ "hrefresult": "secondhrefresulthere", "another things": "here" ] }