Php BBcode的擦洗文档

Php BBcode的擦洗文档,php,bbcode,ipb,Php,Bbcode,Ipb,假设我有一个文档,如: [b]blah[/b] [img]Thisismyimage.png[/img] 我怎样才能完全删除所有的BBcode标签呢。并删除[img]标记之间的所有文本 如果有帮助的话,我正在使用IPB板。但是,如果有人知道一种可以轻松解析BBcode的方法,那就太好了,我非常乐意删除它 解析BBcode几乎是一项已解决的任务:-这也是删除BBcode的更可取的方法(为了简单起见,只需在之后应用strip_tags()) 但要删除有限的语法构造集,可以使用非常简单的正则表达

假设我有一个文档,如:

 [b]blah[/b]
 [img]Thisismyimage.png[/img]
我怎样才能完全删除所有的BBcode标签呢。并删除[img]标记之间的所有文本


如果有帮助的话,我正在使用IPB板。但是,如果有人知道一种可以轻松解析BBcode的方法,那就太好了,我非常乐意删除它

解析BBcode几乎是一项已解决的任务:-这也是删除BBcode的更可取的方法(为了简单起见,只需在之后应用
strip_tags()

但要删除有限的语法构造集,可以使用非常简单的正则表达式:

 $text = preg_replace('#\[img].*?\[/img]|\[/?\w+.*?]#', '', $text);

考虑到我是在IPB板上开发的,BBcode解析并不是那么容易。尽管如此,preg_替代品还是很完美的。有没有什么方法可以使用preg replace来删除所有bbcode?这个例子应该删除所有单一的bbcode标记,再加上一个特殊的[img]案例。例如,它不会删除任何具有属性
[xy a=b]
的bbcode标记。您必须尝试在您的情况下是否可用。老实说,我真的无法理解正则表达式。如果您能提供一个示例,说明如何删除具有属性的bb代码标记,我将不胜感激。我确实为可选bb代码属性添加了另一个
*?
全包。这不是一种非常专业的方法(可能更准确),但我不知道您实际使用的bbcode语法。。如果文本中有虚假的方括号,可能会有问题。否则值得一试。