Christian Seiler: mehrere leerzeichen durch  

Beitrag lesen

Hallo,

Wie kann ich nach mindetsens 2 aufeinander folgenden leerzeichen suchen?
also eines soll nich umgewandelt werden nur 2 oder mehr...

$text = preg_replace_callback ('/( +) /', create_function ('$matches', 'return str_repeat (" ", strlen ($matches[1]))." ";'), $text);

Der Code reagiert wie folgt:
 * Ein Leerzeichen: wird stehen gelassen (Ausdruck greift nicht)
 * n aufeinanderfolgende Leerzeichen: die ersten (n-1) Leerzeichen werden
   durch   ersetzt, das letzte Leerzeichen bleibt stehen

Das hat den Vorteil, dass es bei mehreren Leerzeichen durchaus noch möglich ist, dass dort ein Umbruch stattfindet (d.h. wenn jemand "a  b" schreibt, kann dazwischen noch umgebrochen werden), allerdings sind alle eingegebenen Leerzeichen auch später im Browser sichtbar. Man sollte - wie hier - das letzte Leerzeichen als normales Leerzeichen stehen lassen, denn wenn man das erste Leerzeichen als normales Leerzeichen stehen lässt, dann wird dort umgebrochen und die nächste Zeile fängt eingerückt an, was unschön ist.

Viele Grüße,
Christian

--
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup