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

stu*_*man 9 php regex

如果我有这样的字符串:

$str = "blah blah blah (a) (b) blah blah blah";
Run Code Online (Sandbox Code Playgroud)

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

$str = "blah blah blah blah blah blah";
Run Code Online (Sandbox Code Playgroud)

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

Jam*_*are 40

这应该做的伎俩:

$str = trim(preg_replace('/\s*\([^)]*\)/', '', $str));
Run Code Online (Sandbox Code Playgroud)

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

如果字符串以括号内部分开头,则修剪以防止在其后面的空格不被删除.


Gum*_*mbo 5

尝试这个:

preg_replace('/\([^)]*\)|[()]/', '', $str)
Run Code Online (Sandbox Code Playgroud)