Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php:从字符串中删除括号/内容?_Php_Regex - Fatal编程技术网

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

php:从字符串中删除括号/内容?,php,regex,Php,Regex,如果我有这样一个字符串: $str = "blah blah blah (a) (b) blah blah blah"; 如何使用regex使输出为: $str = "blah blah blah blah blah blah"; 它需要能够支持字符串中任意数量的括号对。尝试以下方法: $string = preg_replace('~\(.*?\)~', '', $string); preg_replace('/\([^)]*\)|[()]/', '', $str) 这应该可以做到:

如果我有这样一个字符串:

$str = "blah blah blah (a) (b) blah blah blah";
如何使用regex使输出为:

$str = "blah blah blah blah blah blah";
它需要能够支持字符串中任意数量的括号对。

尝试以下方法:

$string = preg_replace('~\(.*?\)~', '', $string);
preg_replace('/\([^)]*\)|[()]/', '', $str)

这应该可以做到:

$str = trim(preg_replace('/\s*\([^)]*\)/', '', $str));
注意,与其他建议不同,这个答案也删除了括号周围的空白


修剪是指字符串以括号中的部分开头,在这种情况下,它后面的空格不会被删除。

请注意,这将打断“(())”或任何不平衡的括号,但这可能不是问题。此答案中缺少教育性解释。此答案中缺少教育性解释。