Hallo,
ich möcht eine RegEx gegen Plenken zur Diskussion stellen. Ich habe sie getestet und sie funktionierte wie gewünscht, aber vielleicht übersehe ich unerwünschte Nebeneffekte.
Entfernt werden sollen Leerzeichen vor "," "?" "!" und "." aber nicht vor "..."! (Doppelte Leerzeichen wurden schon vorher entfernt.)
$text = preg_replace( '/ (?)| (!)|( .{3})| (.{1})| (,)/', '$1$2$3$4$5', $text);