echo $begrüßung;
$text = preg_replace(
array(
'/\r\n/',
'/\n\r/',
'/\r/'
), "\n", $text);
Hier brauchst du keine RegEx. Da reicht ein einfaches strtr() oder str\_replace().
> `$text = preg_replace('/\n{3,}/', "\n\n", $text);`{:.language-php}
> Dabei passiert aber einfach mal gar nichts.
Bist du sicher? Wie prüfst du das? Bei mir arbeitet es wie gewünscht.
Du kannst dir ja auch mal die Bytes des Ergebnisses (und/oder des Zwischenergebnisses) ausgeben lassen:
`echo chunk_split(bin2hex('test string'), 2, ' ');`{:.language-php}
echo "$verabschiedung $name";