Я только недавно прочитал о модуле DOM в PHP, и теперь я пытаюсь использовать его для анализа HTML-документа. На странице говорилось, что это было гораздо лучшее решение, чем использование preg, но мне трудно понять, как его использовать.
Страница содержит таблицу с датами и X числом событий для даты.
Сначала мне нужно получить текст (дату) из tr с valign = "bottom", а затем мне нужно получить все значения столбцов из всех tr с valign = "top", который находится ниже этого tr. Мне нужны все значения столбцов от каждого tr ниже tr с датой до следующего tr с valign = "bottom" (следующая дата). Число tr с данными столбца неизвестно, может быть нулевым или большим.
Вот как выглядит HTML на странице:
<table>
<tr valign="bottom">
<td colspan="4">2009-02-26</td>
</tr>
<tr valign="top">
<td>21:00</td>
<td>Column data</td>
<td>Column data</td>
<td>Column data</td>
</tr>
<tr valign="top">
<td>23:00</td>
<td>Column data</td>
<td>Column data</td>
<td>Column data</td>
</tr>
<tr valign="bottom">
<td colspan="4">2009-02-27</td>
</tr>
<tr valign="top">
<td>06:00</td>
<td>Column data</td>
<td>Column data</td>
<td>Column data</td>
</tr>
<tr valign="top">
<td>10:00</td>
<td>Column data</td>
<td>Column data</td>
<td>Column data</td>
</tr>
<tr valign="top">
<td>13:00</td>
<td>Column data</td>
<td>Column data</td>
<td>Column data</td>
</tr>
</table>
До сих пор я был в состоянии получить первые два свидания (меня интересуют только первые два), но я не знаю, как идти отсюда.
Запрос xpath, который я использую для получения даты trs,
$result = $xpath->query('//tr[@valign="bottom"][position()<3]);
Теперь мне нужен способ связать все события этого дня с датой, т.е. выберите все tds и все значения столбца до следующей даты tr.