У меня есть таблица, количество столбцов которой может меняться в зависимости от конфигурации удаленной страницы (я не контролирую ее). Я хочу получить только информацию из определенного столбца, обозначенного заголовком столбца.
Вот упрощенная таблица:
<table>
<tbody>
<tr class='header'>
<td>Image</td>
<td>Name</td>
<td>Time</td>
</tr>
<tr>
<td><img src='someimage.png' /></td>
<td>Name 1</td>
<td>13:02</td>
</tr>
<tr>
<td><img src='someimage.png' /></td>
<td>Name 2</td>
<td>13:43</td>
</tr>
<tr>
<td><img src='someimage.png' /></td>
<td>Name 3</td>
<td>14:53</td>
</tr>
</tbody>
</table>
Я хочу извлечь только имена (столбец 2) таблицы. Однако, как указывалось ранее, порядок столбцов не может быть известен. Например, столбец Image может отсутствовать, и в этом случае нужный мне столбец будет первым.
Мне было интересно, есть ли способ сделать это с DomDocument
/ DomXPath
. Возможно, найдите строку «Имя» в первом tr
и выясните, к какому индексу столбца это относится, а затем используйте ее для получения информации. Менее элегантным решением было бы посмотреть, есть ли в первом столбце тег img
, и в этом случае столбец изображения будет первым, и поэтому мы можем бросить этот путь и использовать следующий.
Занимался этим около полутора часов, но я не знаком с функциями и манипуляциями с DomDocument. У меня много проблем с этим.