Comment récupérer une partie d'un tableau dans une page html
Résolu
Erico-68
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
mee -
mee -
Bonjour,
Je génère avec un programme tiers un tableau qui se présente sous la forme suivante et je le charge le fichier .html sur mon serveur par FTP (les "...." sont des morceaux du code du tableau que je n'ai pas reproduit pour ne pas trop allonger le post) :
Je souhaiterais récupérer la partie de code de ce tableau pour l'inclure dans une des pages de mon site web, plus concrètement la partie qui se trouve entre les segments de code suivants :
et
J'ai trouvé des sujets similaires, notamment pour l'extraction de la totalité d'un tableau (donc le code compris entre les balise <table> et </table>), mais je n'ai pas trouvé de solution pour extraire une partie - quelques lignes et cellules - d'un tableau seulement.
Est-ce possible de faire ça en PHP ?
Merci
Je génère avec un programme tiers un tableau qui se présente sous la forme suivante et je le charge le fichier .html sur mon serveur par FTP (les "...." sont des morceaux du code du tableau que je n'ai pas reproduit pour ne pas trop allonger le post) :
<table> ...... <tr> ..... <td align="left" width="19">e1s</td> </tr> <tr> <td style="border-left: 1px solid rgb(255, 255, 255); border-right: 1px solid rgb(255, 255, 255); border-bottom: 1px solid rgb(255, 255, 255);" colspan="22" align="center" bgcolor="#00b8ff" height="20" valign="middle"><font color="#ffffff" size="3">GFS (NOAA) - FNMOC/WW3 swell & wind forecast</font></td> </tr> <tr> <td align="left" height="8"><br> </td> <td align="left"><br> </td> <td align="left"><br> ..... </tr> <tr> <td align="center" height="17" valign="middle">e1f</td> <td align="left"><br> </td> ....... </table>
Je souhaiterais récupérer la partie de code de ce tableau pour l'inclure dans une des pages de mon site web, plus concrètement la partie qui se trouve entre les segments de code suivants :
<td align="left" width="19">e1s</td> </tr>
et
<tr> <td align="center" height="17" valign="middle">e1f</td>
J'ai trouvé des sujets similaires, notamment pour l'extraction de la totalité d'un tableau (donc le code compris entre les balise <table> et </table>), mais je n'ai pas trouvé de solution pour extraire une partie - quelques lignes et cellules - d'un tableau seulement.
Est-ce possible de faire ça en PHP ?
Merci
A voir également:
- Comment récupérer une partie d'un tableau dans une page html
- Comment supprimer une page sur word - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Tableau word - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment recuperer une video sur youtube - Guide
2 réponses
Bonjour,
En effet, tu peux faire cela en PHP.
Pour ce faire, il faut que ton fichier HTML soit accessible via PHP.
Vu que tu connais le pattern de début et le pattern de fin, tu peux utiliser strpos conjontement avec substr.
Cela te donne un truc du genre :
Tu peux aussi utiliser une expression régulière ou charger ton HTML comme un fichier XML et le parcourir à l'aide du DOM.
Cordialement,
Gigatrappeur
En effet, tu peux faire cela en PHP.
Pour ce faire, il faut que ton fichier HTML soit accessible via PHP.
Vu que tu connais le pattern de début et le pattern de fin, tu peux utiliser strpos conjontement avec substr.
Cela te donne un truc du genre :
$content = file_get_contents('url_de_ton_fichier_html'); $posDebut = strpos('pattern_debut') + strlen('pattern_debut'); $posFin = strpos('pattern_fin'); $resultat = substr($content, $posDebut, $posFin - $posDebut);
Tu peux aussi utiliser une expression régulière ou charger ton HTML comme un fichier XML et le parcourir à l'aide du DOM.
Cordialement,
Gigatrappeur
Bonjour Gigatrappeur,
Je viens de terminer quelques tests avec strpos et substr. Il semble que c'est juste ce dont j'ai besoin, en tout cas mes premiers essais sont concluants. J'ai légèrement adapté ton code comme ceci :
Un tout grand merci pour ta réponse rapide et pertinente.
Cordiallement,
Erico-68
Je viens de terminer quelques tests avec strpos et substr. Il semble que c'est juste ce dont j'ai besoin, en tout cas mes premiers essais sont concluants. J'ai légèrement adapté ton code comme ceci :
<?php $content = file_get_contents(mon_fichier.html'); $baliseDebut = "<td align=\"left\" width=\"19\">e1s</td> </tr>"; $posDebut = strpos($content, $baliseDebut) + strlen($baliseDebut); $baliseFin = "<tr> <td align=\"center\" height=\"17\" valign=\"middle\">e1f</td>"; $posFin = strpos($content, $baliseFin); $resultat = substr($content, $posDebut, $posFin - $posDebut); echo $resultat; ?>
Un tout grand merci pour ta réponse rapide et pertinente.
Cordiallement,
Erico-68