有一个在线的正则表达式测试工具:
http://tool.oschina.net/regex/
---------------
preg_replace('/[(view|exec):([^]])*]/', '', $text);
要匹配[view:], 至少是这样的, 第一个[转义了的,必须匹配,然后圆括号里的必须匹配一个,冒号要匹配一个,然后去掉一个],然后在匹配一个],这样就匹配完了,一个都不能少。但具体到某个正则元字符,则是一次只匹配一个,除非他有修饰符比如{9}出现,则会限制具体数量。
$return = preg_replace('/[[^]]+][^]]+[[^]]+]/', '', $return);
至少得是这样子,[a]a[a],中间的那个 --- [^]]+ ----,必须匹配,不能少,因为他有限制符+。