2010-12-10 113 views
0

我对simplehtmldom有个疑问。 如何获取某个元素的文本,该元素是包含某个文本的另一个元素的next_sibling?php simplehtmldom问题

例如:

我有HTML文本为这样:

<div> 
<table> 
    <tr> 
    <td>prova</td> 
    <td>pippo</td> 
    </tr> 
</table> 
</div> 

,我需要提取的第二个“TD”。考虑文字,我知道,值“PROVA”是固定值。我以为我可以使用此代码:

echo $html->find("td:contains('prova')",0)->next_sibling(); 

但“simple”中不存在“contains”。 我该怎么做?

非常感谢


感谢您的答案,但我需要提取TD旁边TD包含文本“PROVA”的文字。

如实例我需要类似的代码

echo $html->find("td:contains('prova')",0)->next_sibling()->innertext; 

以提取值“皮波”,因为我知道第一列的值。不幸的是,功能包含在simplehtmldom中不存在。

代码

echo $html->find("td:innertext('prova')",0)->next_sibling(); 

不才是正道。

你有其他建议吗?

感谢

回答

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; 
    } 
} 
?> 
+0

嗨biancardi, 我知道,我可以使用的foreach哦阵元素,但我想知道是否存在包含功能类似的jQuery。 感谢您的回答。 – kl4us 2010-12-14 09:56:15