Получите td с помощью src из th , простого синтаксического анализатора HTML DOM

#php

Вопрос:

У меня есть такой стол

 lt;tablegt; lt;trgt;lt;thgt;testlt;/thgt;lt;tdgt;mydatalt;/tdgt;lt;/trgt; lt;trgt;lt;thgt;test2lt;/thgt;lt;tdgt;mydata2lt;/tdgt;lt;/trgt; lt;/tablegt;  

Теперь я хочу узнать td , где th = test2

 $html = str_get_html('table.html)' $table = $html-gt;find('table',0); $table-gt;find('td[where th src = test2')-gt;src # like this  

Наконец, я хочу понять test2 , как я могу это сделать?

Спасибо за вашу помощь.

Ответ №1:

Я не думаю, что существует прямой способ найти элемент на основе текстового содержимого(в простом синтаксическом анализаторе PHP HTML DOM).
Вы можете найти th с текстом, пройдя по всем th s, найдя тот, с текстом, а затем получив следующего брата или сестру.

 $html = str_get_html('table.html') $table = $html-gt;find('table',0); $ths = $table-gt;find('th'); $th = null; foreach ($ths as $th){  if ($th-gt;plaintext = 'test2'){  $td = $th-gt;next_sibling();  break;  } }  

Комментарии:

1. next_sibling () — это то, что я хочу. Это довольно полезная функция, большое вам спасибо.