我有包含以下标记的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"
这怎么办?