Seite 1 von 1

mehrere Leerzeichen auf eins reduzieren

Verfasst: 20.08.2005 15:34
von mgutt
Ich kann leider keine php Funktion finden wie "reduce" oder ähnliches.

Ich möchte gerne aus einem String mehrere hintereinanderfolgene Leerzeichen auf eines reduzieren bzw. im Endergebnis durch einen Unterstrich ersetzen.

Das funktioniert, doch gibt es nicht auch eine Lösung für str_replace oder gar eine ganz andere Funktion, die diese Job noch schneller erledigt?

Code: Alles auswählen

// Dateinamen generieren
$title_filename = preg_replace('/\s+/', '_', $titlename);
Es gibt ja auch sonst trim für Leerzeichen am Anfang oder Ende eines Strings, daher wundert mich es, dass ich keine Funktion dafür finde.

Re: mehrere Leerzeichen auf eins reduzieren

Verfasst: 20.08.2005 15:59
von S2B
mgutt hat geschrieben:Das funktioniert, doch gibt es nicht auch eine Lösung für str_replace oder gar eine ganz andere Funktion, die diese Job noch schneller erledigt?
Meiner Meinung nach nicht. Zumindest ist mir solch eine Funktion bis jetzt noch nie begegnet und gerade eben, als ich die String-Funktionen von php durchgegangen bin, habe ich auch keine gefunden.

Aber wirklich schlimm ist es doch nicht, eine RegEx zu verwenden, oder? Die Zeit, die diese RegEx benötigt, dürfte so gering sein, dass es dadurch keine merkbaren Performance-Einbußen geben dürfte. Das parsing von BBCode bei phpBB läuft ja auch über RegEx's und braucht bei einem ungemoddeten phpBB nicht superviele Ressourcen. :wink:

Verfasst: 20.08.2005 21:23
von mgutt
ja mir war nur so komisch, weil auf php.net immer auf die str variante verwiesen wird auf grund der performance.