你好吗?我会直奔主题。
我正在使用一个递归正则表达式,它基本上删除了单个或嵌套的 <blockquote> tags。我只需要删除普通的 <blockquote> ... </blockquote> 文本,无论是否嵌套,并留下这些之外的任何内容。
这个正则表达式完全按照我的意愿完成工作(注意使用前瞻和递归)
$comment=preg_replace('#<blockquote>((?!(</?blockquote>)).|(?R))*</blockquote>#s',"",$comment);
但它有一个大问题:当 $comment 很大(超过 3500 个字符长)时,apache 崩溃(我假设分段错误)。
我需要一个解决问题的方法,但要解决崩溃,使用更好的正则表达式或自定义函数也可以完成这项工作。
如果您只是对如何删除嵌套的特定标签有想法,我们欢迎您。
先感谢您