Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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 - Fatal编程技术网

如何使用php删除括号之间的文本

如何使用php删除括号之间的文本,php,Php,如何删除括号之间的文本。 例如 $str = 'Aylmers(test, test2), Ancaster(Clandeboye, Bluevale)'; i want to get as $str = 'Aylmers, Ancaster'; 试试这个: $str = 'Aylmers(test, test2), Ancaster(Clandeboye, Bluevale)'; echo preg_replace("/\([^)]+\)/","",$str ); 输出: Aylmers

如何删除括号之间的文本。 例如

$str = 'Aylmers(test, test2), Ancaster(Clandeboye, Bluevale)';

i want to get as
$str = 'Aylmers, Ancaster';
试试这个:

$str = 'Aylmers(test, test2), Ancaster(Clandeboye, Bluevale)';
echo preg_replace("/\([^)]+\)/","",$str );
输出:

Aylmers, Ancaster

这应该可以做到:
`如果还希望删除括号中的嵌套数据。您可以使用:

$str = 'Aylmers(test, test2), Ancaster(Clandeboye, Bluevale)';
echo preg_replace("/\(([^()]*+|(?R))*\)/","", $str);

//output:
//Aylmers, Ancaster
说明:

/-开头分隔符

(-匹配左括号)

[^]+-匹配不是右括号的字符

)-匹配右括号

/-结束分隔符


不幸的是,这并没有删除嵌套的方括号,如A(B(C)D),并为我们需要修改regix的嵌套方括号留下一个数据,但我已经为当前需求创建了。仅供参考-这些不是方括号。它们是括号。括号看起来是这样的:[]@billynoah,谢谢,括号“()”,花括号“{}”,方括号“[]”好吧,那么这可能是方言的一个区别——在美国,不管怎样,它通常是:括号(),括号[],括号{}对于嵌套括号,你可以查看我的答案。很高兴你添加了一些解释,但如果您要解释,那么请解释为什么/如何匹配嵌套括号,而不仅仅是一对。有了这样的解释,这一点实际上比实际情况要好。
$str = 'Aylmers(test, test2), Ancaster(Clandeboye, Bluevale)';
echo preg_replace("/\(([^()]*+|(?R))*\)/","", $str);

//output:
//Aylmers, Ancaster