对此可能有一个非常简单的答案,但我想尽可能详细,这样您就不需要我澄清了。
我正在尝试收集每个
<content><div>CONTENT</div></content>
内容需要作为反向引用 ( $1
) 返回。content 和 div 都有不同的参数(例如style="color: white;"
)。这些参数并不重要,但仍然存在。
复杂之处在于 div 可能包含子 div。这些并不重要,但与我当前的正则表达式冲突 - 尽早停止比赛。
这是代码示例,想象一下这个复制/粘贴多次并且格式不同。
<entry>
<title>A general title of a post</title>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
This is a description of the title. It may <b>contain bold text</b> or <div>even divs</div>, and everything else. It is not quite important to save these tags, but they exist nonetheless.
</div>
</content>
</entry>
目前,我正在使用两个正则表达式代码。一个用于声明,一个用于结束标记。这可行,但现在我需要对内容执行代码。所以,我会使用preg_replace_callback()
,但我不知道如何将两者连接起来,以便中间是回调。
宣言:
<content \w+\s*=\s*\".*?\">[\r\n\s]{0,}<div \w+\s*=\s*\".*?\">
结束:
</div>[\r\n\s]{0,}</content>
我需要将这些结合起来,并将内容作为回调返回。我已经尝试过类似的东西([\w\W]{0,})
,它绝对返回所有内容,但这场比赛并没有在结束的 div 处停止。
所以我发现了这个\bFULLWORD\b
命令,并把它扔\bdiv\b
了......但我没有成功让它发挥作用。也许它不受 PHP 支持?或者我很傻。
我不知道。
请帮忙!