[résolu]regex recherche dans une chaine

fuji
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 1 Juin 2006

[résolu]regex recherche dans une chaine

Message le Jeu Juin 01, 2006 8:34

Salut,

nouveau sur ce site, un grand coucou à tous...

Je cherche a recuperer les lien des balise <a href="" d'une chaine avec du php. (J'ai donc un texte, je veux toutes recuperer les url contenue dans les href.)

Je me demande si avec des regex y a pas un truc tout simple... mais comme je debute la dedans, je demande un peu d'aide.

Merci
Dernière édition par fuji le Jeu Juin 01, 2006 10:30, édité 1 fois.


Borower
WRInaute passionné
WRInaute passionné
 
Messages: 2151
Inscription: 18 Avr 2005

Message le Jeu Juin 01, 2006 9:57

Peut etre comme ca : (pas sur)

Code: Tout sélectionner
$url = 'http://www.exemple.com';
$source = implode(file("$url"));
eregi("href="(.*)"", $source, $regs);

fuji
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 1 Juin 2006

Message le Jeu Juin 01, 2006 10:02

Je rajoute les \


Code: Tout sélectionner
eregi("href=\"(.*)\"", $source, $regs);


et ca ne marche pas; j'ai le debut qui est bon, mais il prends toute la chaine, il ne s'arrete pas à la fermeture de la balise.... rrrr!!


Borower
WRInaute passionné
WRInaute passionné
 
Messages: 2151
Inscription: 18 Avr 2005

Message le Jeu Juin 01, 2006 10:10

Ba tu fais :
Code: Tout sélectionner
eregi("href='(.*)'", $source, $regs);


Sinon pour ce que tu as donné il te sort des $regs de quel forme ?

fuji
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 1 Juin 2006

Message le Jeu Juin 01, 2006 10:15

donc ton exemple ne me donne pas de resultat

c'est peut etre ca que tu voulais mettre ?

Code: Tout sélectionner
eregi('href="(.*)"', $source, $regs); 


ensuite je fais :
Code: Tout sélectionner
print_r($regs[1]);


et j'ai tout le code de la page qui s'affiche


Borower
WRInaute passionné
WRInaute passionné
 
Messages: 2151
Inscription: 18 Avr 2005

Message le Jeu Juin 01, 2006 10:24

Je sais que quand je met
Code: Tout sélectionner
eregi("<title>(.*)</title>", $source, $regs);

Cela marche tres bien, mais la dans ton cas je ne sais pas DSL


Je ne sais pas si ce que nous sommes en train de tester son des regex.
Les regex fonctionne autrement non ?

fuji
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 1 Juin 2006

Message le Jeu Juin 01, 2006 10:29

c'est bin j'ai trouvé ca :

Code: Tout sélectionner
$chaine = file_get_contents ("http://www.zonewindows.com/");

$motif='#<a href="(.*?)"(.*?)>#is';

preg_match_all($motif,$bdy,$out,PREG_PATTERN_ORDER);
print_r($out[1]);



merci


Borower
WRInaute passionné
WRInaute passionné
 
Messages: 2151
Inscription: 18 Avr 2005

Message le Jeu Juin 01, 2006 10:38

fuji a écrit:c'est bin j'ai trouvé ca :

Code: Tout sélectionner
$chaine = file_get_contents ("http://www.zonewindows.com/");

$motif='#<a href="(.*?)"(.*?)>#is';

preg_match_all($motif,$bdy,$out,PREG_PATTERN_ORDER);
print_r($out[1]);



merci


Merci pour toi aussi
A quoi correspond $bdy, $out et PREG_PATTERN_ORDER
Sinon tu as deux comptes WRI ou tu fais de la pub pour -http://www.zonewindows.com :wink:
http://www.webrankinfo.com/forums/viewprofile_12349.htm


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités