preg_replace Problem

1989moni1989

Mitglied
Hallo!

Wie man mit preg_replace viele Leerzeichen durch eins ersetzt weiß ich.

preg_replace("/\s+/", " ",$string);

Ich will jetzt aber dass in dem String nur leerzeichen ersetzt werden die nicht zwischen "" oder '' (also unter Anführungszeichen stehen).
Ist das mit preg_replace Möglich?

wenn der string heißt:

Code:
hallo 'wie     geht' es      dir    'heute  so'?

dann sollen die vielen leerzeichen zwischen 'es' und 'dir' entfernt werdne und die vielen leerzeichen nach 'dir' aber nicht die zwischen 'heute' und 'so' oder 'wie' und 'geht'.

Wisst ihr eine Lösung?


mfg
monika

http://www.gut-essen.at
 
Zuletzt bearbeitet:
Hallo,

Mit preg_replace wüsste ich nicht wie es geht. Hier mit Array:
PHP:
$string = "hallo 'wie     geht' es      dir    'heute  so'?";


$arr = explode("'", $string);

foreach($arr as $key => $value){
	if(!$in){
		$in = true;
		$arr[$key] = preg_replace("/\s+/", ' ', $value);
	}else{
		$in = false;
		$arr[$key] = $value;
	}
}

echo implode("'", $arr);

das echo:
Code:
hallo 'wie     geht' es dir 'heute  so'?
 
Zurück