Außerdem klappt's nicht bei sowas: bla,blubb (x,(a,b),z) blubb.bla
Etwas in der Art:
$str = preg_replace_callback('/\((?>[^)(]+|(?R))*\)/', function($m) {
return str_replace(",", "+", $m[0]);
}, $str);
Siehe eval.in oder regex101 Suchmuster
Außerdem klappt's nicht bei sowas: bla,blubb (x,(a,b),z) blubb.bla
Etwas in der Art:
$str = preg_replace_callback('/\((?>[^)(]+|(?R))*\)/', function($m) {
return str_replace(",", "+", $m[0]);
}, $str);
Siehe eval.in oder regex101 Suchmuster