如何使用 PHP 删除不正确的嵌套 BBcode 标签
由于某些原因,我得到以下不正确嵌套的 BBcode
[url=] Hello [url=] world [/url][/url]
我只想删除嵌套的 url 标签。结果应该是: [url=] Hello world [/url]
我有一篇很长的文章,这种情况发生了很多次。对此有何建议?
如何删除嵌套标签在一篇文章中多次出现,如下所示
[url=] Hello [url=] world [/url][/url] [url=] Hello [url=] world [/url][/url] [url=]你好[url=]世界[/url][/url]
谢谢!
For some reasons I got the following improperly nested BBcode
[url=] Hello [url=] world [/url][/url]
I just want to remove the nested url tags. The result should be:
[url=] Hello world [/url]
I have a very long article and this happens many times. Any suggestions for this?
How to remove the nested tags happened many times in one article like this
[url=] Hello [url=] world [/url][/url] [url=] Hello [url=] world [/url][/url] [url=] Hello [url=] world [/url][/url]
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
以下经过测试的脚本应该可以解决问题。它使用递归正则表达式和
preg_replace_callback()
的递归应用程序。它将处理任何嵌套级别的 URL 标签,并删除除最外层标签之外的所有标签:The following tested script should do the trick. It uses a recursive regex and a recursive application of
preg_replace_callback()
. It will handle URL tags to any nested level and strips all but the outermost tags:这可能会起作用:
不过,您应该找到问题的根源,而不是试图消除它。
This might work:
You should find the root of the problem rather than trying to undo it, though.