所以我有以下代码
<?php
$doc = new DOMDocument();
@$doc->loadHTML('<body>
<label> Foobar </label>
<label> Foobar + Foo </label>
</body>');
$xPath = new DOMXpath($doc);
$elements = $xPath->query("//body//*[contains(text(), 'Foobar')]");
foreach($elements as $e)
{
echo $e->nodeName . ': ' . $e->nodeValue . PHP_EOL;
}
我正在尝试仅使用空格捕获Foobar
,这与正则表达式相似:
^\s*Foobar\s*$
但是根据我现有的代码,我最终得到了这个结果:
label: Foobar
label: Foobar + Foo
当我尝试//body//*[text()='Foobar']
时,结果为null
。
此外Foobar
周围的空格不一致,我不想将任何php函数注入其中($xPath->register*
)