PHP:正则表达式删除括号代码

时间:2011-01-21 13:11:33

标签: php regex preg-replace

我正在尝试删除所有括号代码,但它似乎不起作用,

function anti_code($content)
{
    # find the matches and then remove them
    $output = preg_replace("/\[a-z\s+\]/is", "", $content);

    # return the result
    return $output;
}

我希望在输出中删除这些代码,

Agro[space]terrorism
Agro[en space]terrorism

这样我才能得到

Agroterrorism

我的正则表达式一定是错的!请告诉我。感谢。

2 个答案:

答案 0 :(得分:4)

您逃脱了[],但没有添加第二组未转义的[]来指定一个角色类。另外,如果您没有在正则表达式中使用s元字符,则不需要.

试试这个:

/\[[a-z\s]+\]/i

如果您不关心方括号之间的内容并且只想删除其中包含的所有内容,则可以执行以下操作:

/\[[^]]+\]/i

答案 1 :(得分:0)

尝试\[[a-z\s]+\]它会捕获括号和所有内容