在包含一些文本的节点上使用regex进行xpath查询


xpath query with regex on node which contains some text

我想获取包含以下文本"$$$EXM_TAB$$"的节点

$exampleNodes = $XPath->query('//*[contains(text(),"$$$EXM_TAB$$$")]');
foreach($exampleNodes as $exampleNode){
        $exampleNode->parentNode->removeChild($exampleNode);
    }

问题是我没有得到任何节点。。有人能帮忙吗。。谢谢

您需要确保正确初始化$XPath,并且它包含您的文档或文档的一部分。根据xpath语句,它看起来非常好。因此,我建议您进行调试并查看$XPath变量。可能是这样的:

$doc->Load('data.xml');
$XPath = new DOMXPath($doc);