Aide sur Expression eregi en PHP - PHP - Programmation
Marsh Posté le 18-03-2009 à 22:41:37
avec la class DOMDocument ca devrai se faire plus facilement
Marsh Posté le 19-03-2009 à 09:20:14
A defaut, tu peux utiliser la regex suivante :
href=\"([^\"]*)\"
Marsh Posté le 19-03-2009 à 10:37:35
Code :
|
Marsh Posté le 18-03-2009 à 22:35:01
Bonjour à tous,
J'essaie actuellement de faire un script qui récupère le premier lien d'une page web.
Les liens sont du type: http://www.monlien.fr/mapage1.html
Pour cela j'utilise les expressions régulières. J'utilise la fonction php eregi mais je n'obtiens pas exactement ce que je veux.
Voici mon instruction:
Code :
$string = '<a href="http://www.monlien.fr/mapage1.html" class="selectVdo" target="_PARENT" >Nom lien du 16/1/09</a><br/><a href="http://www.monlien.fr/mapage1.html" class="selectVdo" target="_PARENT" >Nom lien du 17/03/09</a>';
dans la string j'ai deux liens qui sont constitué presque pareil .... moi je voudrais retourner le premier lien ... à savoir : http://www.monlien.fr/mapage1.html
j'ai pensé utiliser eregi(" a href=\"(.*)class",$string,$regs);
prendre tout ce qui est entre a href=" et class mais vu que les balise href=" & class sont présentent plusieurs fois dans la chaine, il faudrait qu'il s'applique à la première itération .....
et là ca coince
Si je code ça :
<?php
$string = '<a href="http://www.monlien.fr/mapage1.html" class="selectVdo" target="_PARENT" >Nom lien du 16/1/09</a><br/><a href="http://www.monlien.fr/mapage1.html" class="selectVdo" target="_PARENT" >Nom lien du 17/03/09</a>';
$toto = eregi("a href=\"(.*)class",$string,$regs);
echo "$regs[1]";
?>
j'ai ça comme résultat :
http://www.monlien.fr/mapage1.html" class="selectVdo" target="_PARENT" >Nom lien du 16/1/09
par contre je je rajoute une balise par exemple font-style="2px" (!!! attentionc'est juste pour l'exemple)
<?php
$string = '<a href="http://www.monlien.fr/mapage1.html" font-style="2px" class="selectVdo" target="_PARENT" >Nom lien du 16/1/09</a><br/><a href="http://www.monlien.fr/mapage1.html" class="selectVdo" target="_PARENT" >Nom lien du 17/03/09</a>';
$toto = eregi("a href=\"(.*)\" font",$string,$regs);
echo "$regs[1]";
?>
en retour j'ai bien mon lien 1 isolé.
http://www.monlien.fr/mapage1.html
Je sollicite votre aide pour résoudre mon problème et avoir une petite explication du pourquoi çà ne marche pas .... si ce n'est pas trop demandé
J'ai épluché tout ce que je pouvais sur les forums, phpnet et compagnie, mais sans grand succès ....
Merci beaucoup par avance.