2013-08-06 155 views
0

如何篩選<div>的子標籤值並僅顯示父內部文本? 例如,在此代碼:篩選子標籤值

include('simple_html_dom.php'); 

$htm='<div class="date"> 
     <span class="title">post date <!-- or Anything --> :</span> 
     2103/04/07 13:06 
     </div>'; 

$html = str_get_html($htm);  

$date = $html->find('.date ',0)->plaintext; 

echo $date; 

結果是:

post date : 2103/04/07 13:06 

但我需要:

2103/04/07 13:06 

有什麼辦法來過濾<span>值?我更喜歡在我的情況下不使用模式。 謝謝

回答

1

這可能是不乾淨的解決方案,但它的工作原理:

$dateDiv = $html->find('.date', 0); 
$textElems = $dateDiv->find('text'); 

$str = ''; 
foreach ($textElems as $subText) { 
    if ($subText->parent() === $dateDiv) { 
     $str .= $subText->plaintext; 
    } 
} 
echo $str; 

它檢索所有的文本塊,然後刪除它們不是直接<div class="date">兒童的所有節點。

+0

謝謝老兄:) –