Space in String ersetzen nur zwischen Anführungszeichen

Hallo an alle,

ich bin seit einigen Stunden mit der umwandlung eines Strings beschäftigt aber ich komme einfach nicht weiter.

Frank sagte:„Wer ist dass ?“ worauf Torsten erwiederte:"wer, ich nicht !"

ich wollte alle Freistellen die nicht in einem Zitat stehen durch ein _ eretzen. Also :

Frank sagte:„Wer_ist_dass ?“ worauf Torsten erwiederte:"wer,_ich_nicht_!"

nach eingem suchen, habe ich nun diesen Reguleren Ausdruck zusammen gebaut, 

(:+".*?)\s(.*?")

allerdings liefert er mir das komplette Zitat, ich benötige aber zum ersetzen nur die Freistellen

kann mir vieleicht jemand auf die Spünge helfen.

Cu Stefan

Hi Stefan,

warum dir keiner von den php-Entwicklern auf die Sprünge helfen kann oder möchte, kann ich dir auch nicht sagen, vielleicht weil das ganze Informatikboard hier tot ist.

$s="Wer ist das ?";
$a = str\_replace(" ", "\_",$s);
echo $a;

Gruß XXD

Hallo an alle,

ich bin seit einigen Stunden mit der umwandlung eines Strings
beschäftigt aber ich komme einfach nicht weiter.

Frank sagte:„Wer ist dass ?“ worauf Torsten erwiederte:"wer,
ich nicht !"

ich wollte alle Freistellen die nicht in einem Zitat stehen
durch ein _ eretzen. Also :

Frank sagte:„Wer_ist_dass ?“ worauf Torsten
erwiederte:"wer,_ich_nicht_!"

callback ist zwar immer haesslich, aber fuers erste.

$foo = preg\_replace\_callback(
 '/:"[^"]+"/',
 function($match){ return str\_replace(' ','\_',$match[0]); },
 $foo
);

Danke für den Super Tipp

Cu Stefan