簡體   English   中英

使用simple_html_dom獲取第三個子元素

[英]get third child element with simple_html_dom

 $html = '<tr> <td class="aa">SomeText</td> <td class="aa">text 2</td> <td class="aa" align="right"> <font class="aa">text 3</font> </td> <td class="aa" align="center"> </td> <td class="aa" align="right">text 4</td> <td class="aa" align="right">text 5</td> </tr> <tr> <td class="aa">SomeText</td> <td class="aa">text 2</td> <td class="aa" align="right"> <font class="aa">text 3</font> </td> <td class="aa" align="center"> </td> <td class="aa" align="right">text 4</td> <td class="aa" align="right">text 5</td> </tr>'; $dom = str_get_html($html); $tds = $dom -> find("td"); foreach($tds as $td){ if ($td -> innertext == $search){ echo $td -> next_sibling() -> innertext; } } 

問題是這會返回文本2,我正在嘗試獲取文本4

我也試過下面的代碼:

 $dom = str_get_html($html); $tds = $dom -> find('td', 0)->text(); foreach($tds as $td){ if ($td -> innertext == $search){ $td->innertext = ''; } } echo $tds; 

在這種情況下,變量$ search似乎不起作用

有什么辦法可以通過simple_html_dom做到這一點?

我想也許您的意思是下一個兄弟姐妹。

您獲得了下一個兄弟姐妹:

$td->next_sibling()

所以要獲得第三個:

$td->next_sibling()->next_sibling()->next_sibling()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM