Scanneur de balise html, reitération d'une fonction

Scanneur de balise html, reitération d'une fonction - PHP - Programmation

Marsh Posté le 20-01-2006 à 02:30:21    

salute !
 
j'aimerai faire un scanneur de lien d'url et d'info sur les balises depuis une page html,  
voir le code source pour comprendre ;)
 
seulement j'ai un pb j'arrive pas a généralisé le code que j'ai trouvé :
- je ne resort que le 1er lien mais si j'en ai plusieurs ca ne marche pas il ne me marque que la 1er occurence  
comment je peux faire?  
 
 je connais pas trop les regles ereg() etc...
j'ai lu la doc mais je n'y arrive pas !
voila le code !
 

Code :
  1. <?php
  2. // exmple :  
  3. function instruction($instruction,$balise) {
  4. do {
  5. $i++;
  6. switch($i) {
  7. case 1 : $délimiteur = "\""; break;
  8. case 2 : $délimiteur= "'"; break;
  9. case 3 : $délimiteur = "`"; break;
  10. case 4 : $délimiteur = " "; break;
  11. }
  12. ereg($instruction."[ ]*\=[ ]*".trim($délimiteur)."([^$délimiteur]*)".trim($délimiteur)."",$balise,$sortie);
  13. } while(!$sortie[1] && $i < 4);
  14. return $sortie[1];
  15. }
  16. // balise à scanner
  17. $balise = "<a href='http://www.glouglou.fr/test.php' name=glou class='test'> <a href='http://www.glouglou2.fr/test.php' name=glou class='test2'>";
  18. // Contenu de l'instruction href de cette balise :
  19. $contenu = instruction("href",$balise);
  20. // Contenu de l'instruction href de cette balise :
  21. $test = instruction("class",$balise);
  22. ?>
  23. // je lui demande :  
  24. $contenu contient donc... http://www.glouglou.fr/test.php
  25. j'ai :
  26. // http://www.glouglou.fr/test.php contient donc... test


mais je voudrais aussi avoir le 2eme lien a savoir  
// http://www.glouglou2.fr/test.php contient donc... test2
 
comment je peux faire?
j'ai essayer avec des array dans sortie mais j'y arrive pas  
merci de l'aide !


Message édité par 100top le 20-01-2006 à 18:59:09
Reply

Marsh Posté le 20-01-2006 à 02:30:21   

Reply

Marsh Posté le 20-01-2006 à 18:59:20    

up ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed