Hallo Till,
Der Vollstaendigkeit halber noch eine Loesung mit preg_replace_callback():
print $text = 'E i n m a l ohne und (e i n m a l) mit Klammer und noch e i n m a l ohne und (e i n m a l) mit Klammer';
print "\n";
$pattern = "~((([\w ]*))[^(]*?)+~";
print preg_replace_callback($pattern,'my_callback', $text);
function my_callback($matches)
{
return str_replace(' ','_', $matches[0]);
}
Gruß,
Dieter