0
preg_replace('|[[\/\!]*?[^\[\]]*?]|si', '', $text);

这会从文本中删除所有 bb 标签。我也希望删除这些人的签名。这必须在标签替换之前完成,我想用一个正则表达式来完成。

这应该完全删除:

[b][color=red]This is my signature[/color][/b]

一直在玩它一段时间,无处可去。

4

2 回答 2

2

只需将您要查找的内容写为模式:

$pattern = '(\[b]\[color=red](?:\w|\s)*\[/color]\[/b])';

转义那些具有特殊含义的字符(例如左方括号[)。

那应该这样做。

于 2012-07-21T09:49:59.387 回答
0

例如这样的事情应该工作:

/((\s?\w)+|[[\/\!]*?[^\[\]]*?])/
于 2012-07-21T09:47:51.600 回答