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

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

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

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

我目前正在研究 DOMXPath,我需要的是获取标签 a 的直接值,即 "value",而我实际上在使用 nodeValue [= 时得到了一个额外的 "no need" 21=]:

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

如何只取第一层的值,排除嵌套节点。 谢谢!

您的表达式需要匹配文本节点本身,而不是它的标签,所以 f.e.

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

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

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