gpt4 book ai didi

php - 如何获得边缘没有空格的文本节点?

转载 作者:行者123 更新时间:2023-12-02 02:37:23 30 4
gpt4 key购买 nike

如何从父级返回第一个文本节点,边缘没有空格?

节点:

<p>Hello <b>World</b> by.</p>

您必须获得边缘没有空格的第一个单词:

→你好←

这样的Xpath查询:

p/[normalize-space(text()[1])]

返回错误:

DOMXPath::query():表达式无效

最佳答案

DOMXpath:query() 不允许使用带有标量结果的 Xpath 表达式。您必须使用 DOMXpath::evaluate()

$xml = <<<'XML'
<p>Hello <b>World</b> by.</p>
XML;

$document = new DOMDocument();
$document->loadXML($xml);
$xpath = new DOMXpath($document);

var_dump(
$xpath->evaluate('normalize-space(p/text()[1])', $document)
);

输出:

string(5) "Hello"

字符串函数必须位于外部。这样您首先选择节点,然后将结果转换为字符串。 p 选择上下文节点的 p 子节点。 //p 选择文档中的任何 p 元素节点。所以 p/text()[1] 都是 p 子节点内的第一个(位置)文本子节点。

normalize-space() 会将第一个节点(从获取的列表中)转换为字符串,去除尾随/前导空格,并将内部所有空格组替换为单个空格。

关于php - 如何获得边缘没有空格的文本节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57173532/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com