php:从字符串中删除括号/内容?

时间:2009-08-26 18:36:15

标签: php regex

如果我有这样的字符串:

$str = "blah blah blah (a) (b) blah blah blah";

我如何正则表达式输出为:

$str = "blah blah blah blah blah blah";

它需要能够在字符串中支持任意数量的括号对。

3 个答案:

答案 0 :(得分:39)

这应该可以解决问题:

$str = trim(preg_replace('/\s*\([^)]*\)/', '', $str));

请注意,此答案也会删除括号周围的空格,与其他建议不同。

如果字符串以括号内的部分开头,则修剪以及后面的空格不会被删除。

答案 1 :(得分:4)

试试这个:

preg_replace('/\([^)]*\)|[()]/', '', $str)

答案 2 :(得分:1)

$string = preg_replace('~\(.*?\)~', '', $string);