Gob42 Posté 12 Novembre 2006 Posté 12 Novembre 2006 Salut, J'aimerais faire un truc tout con mais comme ca fait un moment que j'ai pas code, je sais plus rien faire lol Je récupere le code source d'une page ou se trouve mon emploi du temps dans un tableau html de ce type : TABLE BORDER COLS=9 WIDTH="100%"><TR><TD WIDTH="20%" BGCOLOR=#949494>Date </TD><TD WIDTH="05%" BGCOLOR=#949494>Heure</TD><TD WIDTH="18%" BGCOLOR=#949494>Matière</TD><TD WIDTH="07%" BGCOLOR=#949494>Groupe</TD><TD WIDTH="10%" BGCOLOR=#949494>Type_séance</TD><TD WIDTH="10%" BGCOLOR=#949494>Professeur</TD><TD WIDTH="05%" BGCOLOR=#949494>Durée</TD><TD WIDTH="10%" BGCOLOR=#949494>Salle</TD><TD WIDTH="15%" BGCOLOR=#949494>Observations</TD></TR><TR VALIGN=TOP><TD WIDTH="20%" BGCOLOR=#51A8FF>13-11-06 </TD><TD WIDTH="05%" BGCOLOR=#51A8FF>08h30 </TD><TD WIDTH="18%" BGCOLOR=#51A8FF>Gestion d"Entreprise </TD><TD WIDTH="07%" BGCOLOR=#51A8FF> - </TD><TD WIDTH="10%" BGCOLOR=#51A8FF>COURS </TD><TD WIDTH="10%" BGCOLOR=#51A8FF>CHERBONNIER </TD><TD WIDTH="05%" BGCOLOR=#51A8FF>01h30 </TD><TD WIDTH="10%" BGCOLOR=#51A8FF>AMPHI1 </TD><TD WIDTH="15%" BGCOLOR=#51A8FF> </TD></TR> Je voudrais récupérer les informations qui se troue entre les TD (dans un tableau php par exemple). Est ce que quelqu'un pourrait m'aider a me rappeller certaines fonctions ? Merci gob
xou Posté 13 Novembre 2006 Posté 13 Novembre 2006 Bonjour, bienvenue sur le hub ! au vu de ton code je ne trouve aucun intérêt à se prendre la tête à essayer de ressortir le code de la sorte, je pense que la meilleure solution est de repenser ta façon de faire afin de simplifier ton code ou de tout repenser (en XML par ex.) mais si tu persistes quand même tu trouveras dans le manuel toutes les focntions qui te seront nécessaire: http://fr.php.net/manual/fr/ref.strings.php
Jeromnimo Posté 13 Novembre 2006 Posté 13 Novembre 2006 Bonjour, si tu souhaites extraire le contenu des balises <td>, pouquoi ne pas faire appel aux expressions rationnelles ? Je rejoins xou dans sa remarque si tu as accès à la génération de la page où se situe ton emploi du temps. SI c'est une page générée par ton école, là evidement, t'as pas vraiment d'autres solutions que parser le code source . Bon courage.
NorSeb Posté 13 Novembre 2006 Posté 13 Novembre 2006 Bonjour, Tu peux déja commencer par supprimer toutes les balises HTML grâce à la fonction strip_tags. Il sera sans doute plus aisé de lire le fichier pour en recueillir les données.
baboon Posté 13 Novembre 2006 Posté 13 Novembre 2006 Bonjour Gob42, Puisque que tu récuperes une page html, ouvre là avec Excel ....et enregistre la dans un format que tu veux (p. ex. xml)...en ayant fait le ménage sur les lignes qui ne t'interreses pas... Il sera plus facile pour toi apres de parser un fichier XML qu'HTML.... Bonne journée
Gob42 Posté 13 Novembre 2006 Auteur Posté 13 Novembre 2006 Merci déja de vos réponses. Je voudrais le faire en PHP car après je voudrais faire un script automatique pour que toute l'école puisse en profiter. Je ne peux pas modifier la génération du code car c'est l'administration de l'école qui le fournit. Je ne peux rien faire manuellement, car la j'ai mis que 2cours, mais le tableau est très grand .... et il est mis a jours tous les jours, c'est pour ca qu'il me faut un script générique. Voici le code que j'utilise : $fp = fopen("http://monfichier.php","r");while (!feof($fp)) { $page .= fgets($fp, 4096); }$page = strip_tags($page);$page = ereg_replace(' ', ' ', $page);echo $page;fclose($fp); et voila le résultat que ca me donne (le code source) : <html><head> <title></title></head><body>.TitrePage { color: #7B2266; } Consultation emploi du temps Ecole dernière mise à jour 13-11-2006 Nom Prénom Classe: Nom de la classe Date HeureMatièreGroupeType_séanceProfesseurDuréeSalleObservations13-11-06 08h30 Gestion d"Entreprise - COURS xxx 01h30 AMPHI1 13-11-06 10h15 Notions Juridiques - COURS xxx 01h30 AMPHI1 13-11-06 13h30 Technologie des Travaux Publics - COURS xxx 03h00 J Lieu Je voudrais récupérer dans des variables : le nom de l'élève, le prénom de l'élève, le nom de classe et la date de mise a jours. Ensuite récupérer dans un tableau PHP ou d'une autre manière les différents cours (Date, Heure, Cours, Groupe, Prof, Nombre d'Heure, Classe, Lieu) De quel manière puisse faire ca ? Merci
Gob42 Posté 13 Novembre 2006 Auteur Posté 13 Novembre 2006 Je viens de réussir a extraire la date : ereg ("dernière mise à jour ([0-9]{2})-([0-9]{2})-([0-9]{4})", $page, $regs);$date_update = $regs[1]."/".$regs[2]."/".$regs[3]; Comment faire pour récupérer le reste ? et comment faire pour ensuite supprimer le code de <html> a Observations ? encore merci Laurent
Leonick Posté 18 Novembre 2006 Posté 18 Novembre 2006 un masque du genre <tr><td[^>]*>([^<]*)</td><td[^>]*>([^<]*)</td>.... autant de fois que nécessaire, à voir après pour gérer les sauts de ligne dans le texte
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant