$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;
}
}
&#13;
问题是这会返回文本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;
&#13;
在这种情况下,变量$ search似乎无法正常工作
有没有办法用simple_html_dom做到这一点?
答案 0 :(得分:0)
我想也许你的意思是下一个兄弟姐妹。
你有第一个下一个兄弟姐妹:
$td->next_sibling()
所以要获得第三个:
$td->next_sibling()->next_sibling()->next_sibling()