$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似乎不起的作用
有什么方法可以用simplehtmldom实现这一点吗?
我想你可能是指第三个下一个兄弟姐妹。
你得到了第一个下一个兄弟:
$td->next_sibling()
所以要获得第三个是:
$td->next_sibling()->next_sibling()->next_sibling()