2010-12-10 33 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