假设我有一段文本如下:
<item>
foo bar foo bar
<item> child item </item>
</item>
<item>
second item
<item> second child </item>
</item>
这里,我希望只解析两个顶层的
<item>
,并将结果以以下数组形式返回给我:[0] = "foo bar foo bar <item>child item</item>"
[1] = "second item <item>second child </item>";
然而在我的测试中,由于子级别的<item>
标签匹配了该模式,它们也被包含在内,导致我得到了一个4元素数组,而不是我想要的2元素数组。
这是我使用的模式:
%<item>(.+)</item>%si
有什么想法吗?
编辑:这不是HTML,而是一个自定义的内部脚本语言,不能使用任何DOM解析器。因此,请建议一个正则表达式解决方案。