preg_replace删除文本和标签

时间:2012-07-21 09:43:59

标签: php regex

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

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

应该完全删除:

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

已经玩了一段时间而无处可去。

2 个答案:

答案 0 :(得分:2)

只需将您所寻找的内容写为模式:

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

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

应该这样做。

答案 1 :(得分:0)

例如这样的事情应该有效:

/((\s?\w)+|[[\/\!]*?[^\[\]]*?])/