[cURL - PHP] capture de plusieurs lien [Résolu/Fermé]

Signaler
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
-
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
-
Bonjour,

J'aimerais grâce à cURL prendre tous les liens du même nom de domaine (domaine externe) d'une page que j'ai défini.
J'arrive à en prendre un avec un preg_replace mais impossible à prendre les suivant.

Comment faire?

Merci pour vos aides.

5 réponses

Messages postés
18393
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
5 août 2020
4 200
preg_match_all sera mieux que preg_replace.
Ça devrait ressembler à quelque-chose du style :
preg_match_all('#(src|alt)="(http://domaine.tld/(.?))"#i',$source,$array);
echo $array[2][0];
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
121
Merci pour l'astuce :)
mais ce ne serais pas plutôt $array[0][2] ?

Non j'ai rien dit :)
J'avais activé une autre option :o

encore merci
Messages postés
18393
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
5 août 2020
4 200
Pour comprendre le principe de preg_match_all :
Il te crées un array dont les clés sont la recherche.
0 correspond à la regex entière
1 corresepond à la première parenthèse
2 ...
Ces clés ont comme valeur ... un autre tableau ou :
0 est la première occurence trouvée.
...
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
121
Ok merci :)
j'ai tout capté :)
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
121
Par contre maintenant, je n'arrive pas à continuer car j'ai une erreur 400 Bad Request.
Vu que si je vais sur le site directement tout fonctionne, je suppose que c'est le robot qui est bloqué par quelque chose. C'est vrai?
Y a-il un moyen pour contourner le problème?