Analyse de tableau HTML avec nombre variable de cases
Bonsoir à tous,
j'aurais besoin d'un coup de pouce pour la mise en place d'un système de récupération de valeurs provenant d'un tableau ayant la syntaxe suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <table border=1 style="border-collapse:collapse">
<tr>
<td XXX>XXX<br>DIM</td><td XXX>XXX<br>LUN</td><td XXX>XXX<br>MAR</td> (....) </tr>
<tr>
<td XXX>1/03</td><td XXX>2/03</td><td XXX>3/03</td> (....) </tr>
<tr><td colspan="31"> </td></tr>
<tr>
<td title='' XXX><font XXX><b>RH</b></font></td><td title='Pause de 13 à 14h' XXX><font XXX><b>9-17</b></font></td><td title='Pause de 13 à 14h' XXX><font XXX><b>9-17</b></font></td> (....) </tr>
<tr><td colspan="31"> </td></tr>
<tr><td colspan="31"> </td></tr>
</table> |
J'ai mis des XXX lorsqu'il y a du contenu mais qu'il ne m'intéresse pas.
J'ai gardé la mise en forme au cas ou les retours à la ligne auraient une importance.
Ce qui me pose problème c'est qu'il y a autant de colonne par ligne que de jours dans le mois (il s'agit d'un planning version HTML à l'origine) donc c'est variable.
Donc ma première question est: faut-il mieux utiliser preg_match ou preg_match_all ?
je ne sais pas trop comment m'y prendre :S
j'ai essayé quelque chose pour au moins récupérer les jours
Code:
1 2 3 4 5
|
$regexp = '`<table border=1 style="border-collapse:collapse">(?:<tr>(<td(.*)>(.*)<br>(.*)</td>)+</tr>)+(.*)</table>`Us' ;
preg_match_all($regexp, $parser->page_content, $matches, PREG_SET_ORDER) ;
print_r($matches) ; |
mais un Array ( ) tout vide :(
$parser->page_content contient bien la source html ya pas de soucis là dessus.
quand il s'agit de récupérer une seule information j'y arrive, mais là j'attaque le plus gros et j'avoue me perdre un peu. Je pense que si j'arrive à récupérer la première ligne le reste suivra, mais ce n'est déjà pas le cas donc je suis totalement bloqué.
Si quelqu'un pouvais m'aider à réaliser cette récupération d'information.
Merci par avance.
Cordialement, DD.