Tendrías que hacer un explode, pero tienes el problema que dentro de los paréntesis también tienes espacios
Entonces, sería tan fácil como:
Código PHP:
$string = '...';
$string = str_replace('(','("');
$string = str_replace(')','");');
Hasta aquí tendrías la mitad hecha. Lo que te queda puedes hacerlo con expresiones regulares:
Código PHP:
$string = preg_replace('/(^|([^"].*\s))([^\s]*?)(\s|$)/','$1$3("");$4',$string);
$string = preg_replace('/\("(.*?)(\("([^"\(\)]+)"\);)(.*?)"\);/','("$1 ($3) $4");',$string);
$string = preg_replace('/\("(.*?)(\(""\);)(.*?)"\);/','("$1 $3 $4");',$string);
if( preg_match('/;\(""\);$/',$string) ){
$string = preg_replace('/;\(""\);$/','',$string);
}
if( !preg_match('/;$/',$string) ) $string .= ';';
Se ve complicado, pero con los ejemplos que has puesto me ha funcionado
Sólo por curiosidad... para qué lo quieres?
Un saludo!