gpt4 book ai didi

php - 包含带有重音符号或字符的文本的 XPath 元素选择

转载 作者:行者123 更新时间:2023-12-05 05:20:56 28 4
gpt4 key购买 nike

我想使用 XPath ( Symfony Dom Crawler ) 选择元素/div 标签:

$element->filterXPath('//span[text() = "SOMEtext"]')->text();

如果字符串中没有特殊字符,它工作正常。如果字符串包含重音符号或字符,例如:Prénomexpérienceà toi 等,它将不起作用。

$element->filterXPath('//span[text() = "Référence"]')->text(); 给我一个错误。

有没有办法过滤掉非英文文本?

我尝试了很多组合将文本转换为unicode字符串,但总是失败。

Référence
Référence
R\u00E9f\u00E9rence
R\u{00E9}f\u{00E9}rence
R\00E9 f\00E9 rence
R%C3%A9f%C3%A9rence
RU+00E9fU+00E9rence
R0xE9f0xE9rence

最佳答案

您没有指定正在使用的 XPath 实现,并且由于 filterXpath 在 PHP 中不是标准的,所以我首先要检查的是编码。保存 PHP 脚本的编码是否与对象所期望的编码相同?

我要尝试的第二件事是使用 DOMDocument 的标准 XPath 实现,但也有其他实现。

$oDom = (new DOMImplementation())->createDocument(NULL, '');
// import your DOM here
$XPath = new DOMXPath($oDom);
$XPath->query('//span[text() = "Référence"')->item(0);

关于php - 包含带有重音符号或字符的文本的 XPath 元素选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43964564/

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