parser un fichier html avec php

parser un fichier html avec php - PHP - Programmation

Marsh Posté le 20-02-2007 à 20:03:29    

Bonjour a tous!  
J'ai besoin d'extraire des infos d'une page html pour les stocker dans une table MySQL et tout ca en PHP. Il s'agit en fait d'emploi du temps donc les pages sont pleines de <table>, <td>, <th>,etc... Le fait est que j'ai plusieurs '<tables> ... </tables>' a la suite et je n'en connais pas le nombre a l'avance (chaqune representant une matiere). J'ai deja essaye avec eregi ou preg_match pour les extraire mais j'ai toujours le meme probleme qui est que le string retourné contiend ce qui se trouve entre le premier <tables> et le dernier </tables>. Alors qu'en fait je voulais avoir un tableau avec le contenu de chaque element table pour chaque indice du tableau (j'espere que ca reste comprehensible  :??: )
Ici est ma commande principale qui est sensee me retourner le contenu de chaque table, je pense que mon erreur se trouve la:
 

Code :
  1. eregi("<TABLE(.*)</TABLE>", $subject, $resu);


 
Merci pour votre aide si vous avez une idee !

Reply

Marsh Posté le 20-02-2007 à 20:03:29   

Reply

Marsh Posté le 20-02-2007 à 21:40:14    

preg_match_all('/<table(.*)</table>/Ui', $subject, $matches);
 
(non testé, mais ça devrait être ça)
 
(option U => ungreedy, pour éviter justement ce que tu décris)
 
edit: et d'ailleurs t'as probablement pas besoin des parenthèses...

Message cité 1 fois
Message édité par sielfried le 20-02-2007 à 21:41:00

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 20-02-2007 à 21:58:46    

sielfried a écrit :

preg_match_all('/<table(.*)</table>/Ui', $subject, $matches);
 
(non testé, mais ça devrait être ça)
 
(option U => ungreedy, pour éviter justement ce que tu décris)
 
edit: et d'ailleurs t'as probablement pas besoin des parenthèses...


 
 
J'aurais dit
 

Code :
  1. preg_match_all('@<table>(.*)</table>@Ui', $subject, $matches);


 
Sinon il aura un problème avec le / de </table> ..


Message édité par math2k le 20-02-2007 à 21:59:05
Reply

Marsh Posté le 21-02-2007 à 00:17:11    

Ouais, bien sûr, bien vu.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 21-02-2007 à 12:45:54    

Merci pour vatre aide ! Je test tout ca et je vous tien au courant !

Reply

Sujets relatifs:

Leave a Replay

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