0

如何过滤 a 的子标签值<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>值吗?在我的情况下,我更喜欢不使用模式。谢谢

4

1 回答 1

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">.

于 2013-08-06T09:18:58.260 回答