如何从节点PHP获得一级纯文本


How to get first level plain text from a node PHP?

这是我正在努力的简短代码:

<a>value<span>no need</span><a>

我目前正在研究DOMXPath,我需要的是获得标签a的直接值,这是"值",而我实际上在使用nodeValue属性时获得额外的"不需要":

$xpath->query('a')->item(0)->nodeValue;//give me "value no need"

如何仅从第一层获取值,排除嵌套节点。

表达式需要匹配文本节点本身,而不是它的标记,因此,

$xpath->query('a/text()')->item(0)->nodeValue

或者,您可以使用childNodes从"a"标记导航到文本节点:

$xpath->query('a')->item(0)->childNodes->item(0)->nodeValue