如何过滤<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>
值?在我的情况下,我更喜欢不使用模式。
谢谢
答案 0 :(得分: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">
直接子节点的节点。