一尘不染

在PHP DOM中获取节点的文本

php

如何使用PHP DOM从此标记中提取字符串“文本”?

<div><span>notthis</span>text</div>

$div->nodeValue 包括“ notthis”


阅读 642

收藏
2020-05-29

共1个答案

一尘不染

只要您可以影响DOM,就可以将其删除span

$span = $div->getElementsByTagName('span')->item(0);
$div->removeChild($span);

$nodeValue = $div->nodeValue;

或者,只需访问的文本节点$div

foreach($div->childNodes as $node) {

    if ($node->nodeType != XML_TEXT_NODE) {
        continue;
    }
    $nodeValue = $node;
}

如果最终有更多的文本节点并且只想要第一个,则可以break在的第一个赋值之后$nodeValue

2020-05-29