PHP dom-不要递归查询某些标签

时间:2018-07-10 09:35:22

标签: php domdocument domxpath

我有包含以下标记的html字符串:

 <foo> <bar> and <baz>. 

这些包含在p标签中,因此某个html字符串可能看起来像:

 <p>Hello, <foo>I am foo</foo> good bye</p>

html字符串由php DOMDocument处理,并由loadHTML函数加载,下面的$ finder是dom变量的DOMXPath。要查询和处理这些,我有以下php代码:

$found = $finder->query('//p/text() | //foo | //bar | //baz');

上面的方法工作正常,但是对于特定的标签“ bar”,我不希望查询匹配/获取其子标签(如果有)。例如,在以下html字符串中:

<p>Hi my name is <bar>bar <foo>with foo inside</foo></bar> etc</p>

...我希望查询返回以下内容:

item 1 (p text): "Hi my name is"
item 2(bar tag): "bar <foo>with foo inside</foo>"
item 3 (p text): " etc"

...而不是当前的样子:

item 1 (p text): "Hi my name is"
item 2(bar tag): "bar "
item 3(foo tag): "with foo inside"
item 4 (p text): " etc"

这怎么办?

0 个答案:

没有答案