dedlfix: preg_replace - mehrfache Zeilenumbrüche "kürzen"

Beitrag lesen

echo $begrüßung;

Es ging um die Verwendung von str_replace() zur Beseitigung mehrfacher Zeilenumbrüche, also die Reduzierung auf jeweils nur einen Zeilenumbruch in Folge.

Warum willt du dafür unbedingt str_replace() nehmen? Die preg_replace-Lösung ist für diese Aufgabe besser geeignet, da sie mit einer variablen Suchstringlänge umgehen kann, während die Länge des Suchstrings[*] bei str_replace() feststehen muss.

Wenn es unbedingt mit str_replace() sein soll, schlage ich folgenden Zweizeiler vor:

while (strpos($string, "\n\n\n") !== false)  
  $string = str_replace("\n\n\n", "\n\n", $string);

Bei Reduzierung auf einen Zeilenumbruch muss noch jeweils einmal \n weg.

echo "$verabschiedung $name";

[*] oder der Suchstrings, wenn man ein Array übergibt.