我对simplehtmldom有疑问。 如何获取某个元素的文本,该元素是包含特定文本的另一个元素的next_sibling?
例如:
我有这样的HTML文字:
<div>
<table>
<tr>
<td>prova</td>
<td>pippo</td>
</tr>
</table>
</div>
我需要提取第二个“td”的文本。考虑到我知道值“prova”是一个固定值。我以为我可以使用这段代码:
echo $html->find("td:contains('prova')",0)->next_sibling();
但simplehtmldom中不存在“contains”。 我怎么能这样做?
非常感谢
感谢您的回答,但我需要提取包含文本“prova”的 td 旁边的 td 文字。
作为示例,我需要使用类似的代码
提取值“pippo”echo $html->find("td:contains('prova')",0)->next_sibling()->innertext;
因为我知道第一列的价值。不幸的是,simplehtmldom中不存在包含功能。
代码
echo $html->find("td:innertext('prova')",0)->next_sibling();
不是正确的方法。
你还有其他建议吗?
由于
答案 0 :(得分:1)
试试这段代码
<?php
include_once "simple_html_dom.php";
// the html code loaded (in this case in string mode)
$html = '<div>
<table>
<tr>
<td>prova</td>
<td>pippo</td>
</tr>
</table>
</div>';
$dom = str_get_html($html);
// the selector :contains isn't develop yet
$tds = $dom -> find("td");
foreach($tds as $td){
if ($td -> innertext == "prova"){
echo $td -> next_sibling() -> innertext;
}
}
?>