我正在尝试使用DOMXPath
查找包含此值{{xxx}}
的所有属性(其中xxx
可以是任何内容)。
这是我目前使用的,但它不起作用。我也没有收到任何错误,说这是一个无效的查询。
foreach($docx->query('//*[*="*{{*}}*"]') as $node){
// Do some stuff
}
我正在尝试查找可能类似于(但不限于)以下内容的项目:
<a href="/path/{{value}}">Link</a>
<p class="{{classes}}"></p>
有没有办法使用DOMXPath::query()
获取看起来像这样的项目?
答案 0 :(得分:2)
XPath 2.0具有matches()
功能,可让您使用正则表达式。在1.0中,这是DOMXPath
使用的,你最好的选择可能是:
//*[contains(@*,"{{") and contains(@*,"}}")]
请注意,这仍然会匹配}}
在{{
之前的情况或这两者之间没有任何内容的情况,因此您可能希望在获得结果后仔细检查结果它们。