gudn tach!
Nun habe ich aber einen String der ca. so aussieht:
$string = "adgjsdgjahgsd
jkhsadf lksdjf lsdfjlsdf
jkhdf kjahd nbsdfjksd sdfhj"; oder so ähnlich: Ich meine damit unregelmäßig viele Whitespaces in der Mitte.Gibt es da eine Funktion, die sowas wie, alles was mehr als ein Leerzeichen hintereineander ist, zu einem umwandelt.
was denn nun? whitespaces oder leerzeichen?
willst du nur alle mehrfachen leerzeichen durch einzelne leerzeichen ersetzen, so geht dies z.b. mit
'/ +/ /g'
also preg_replace('/ +/ /g', $str);
.
willst du dagegen alle beliebigen folgen von mind. 2 whitespaces durch einfache leerzeichen ersetzen, so geht das mit
'/\s{2,}/ /g'
oder aeuquivalent dazu:
'/\s\s+/ /g'
willst du alle mehrfach hintereinander auftretenden whitespaces durch einfache leerzeichen ersetzen, so geht das mit
'/(\s)\1+/ /g'
damit werden z.b. zwei oder mehr leerzeichen ersetzt; oder zwei oder mehr tabulatoren... aber z.b. nicht "\t \t ".
sollen alle mehrfach hintereinander auftretenden whitespaces geloescht (also zu einem zusammengeschrumpft) werden, so ist das mit
'/(\s)\1+/$1/g'
zu bewerkstelligen.
erklaerung zu den einzelnen bestandteilen lassen sich im nu finden, z.b. per google, wikipedia (regexp) sowie dem perl- (perldoc perlre) oder php-manual.
prost
seth