PHP:Preg_replace括号?

时间:2012-03-01 01:56:55

标签: php regex preg-replace pcre

preg_replace只是PHP中的括号的正确语法是什么?

$search = preg_replace('/\(\)/','',$search);

谢谢

4 个答案:

答案 0 :(得分:18)

假设您要从(字符串中删除)$search

$search = preg_replace('/\(|\)/','',$search);

我认为最快的方法是使用strtr函数,如下所示:

$search = strtr($search, array('(' => '', ')' => ''));

答案 1 :(得分:9)

以下是我的小型现场测试结果:

preg_replace("/\(|\)/", "", $str): 1.590735912323

preg_replace('/[\(\)]/', '', $str): 1.3762638568878

strtr($str, array('(' => '', ')' => '')): 0.84079194068909

str_replace("(", "", str_replace(")", "", $str)): 0.80222821235657

最后两个几乎完全相同,就像J. Bruni指出的那样。

答案 2 :(得分:1)

你的意思是这样吗?

$search = preg_replace('/[()]/', '', $search);

这将删除所有括号,而不考虑配对。

答案 3 :(得分:0)

这是正确的语法,虽然preg_replace用于正则表达式,如果你只想替换(),那么str_replace的速度要快几倍。

如果您想在任何地方替换(),可以使用

preg_replace("/\(|\)/", "", $str);