echo $begrüßung;
Einzelne Buchstaben eines Strings sollen, z.B. für ein Substitutions-Chiffre vertauscht werden.
Allerdings arbeitet preg_replace() nicht so, wie ich mir das wünschen würde. Wünschenswert wäre ja, dass jeder Buchstabe im String nacheinander angeschaut wird, ob er ein zu ersetzender Buchstabe ist. Stattdessen wird für jeden zu ersetzenden Buchstaben der komplette String einmal komplett analysiert, was auch dazu führt, dass bereits ersetzte Buchstaben nochmal ersetzt werden. Der mehrfache Schleifendurchlauf hört sich höchst uneffektiv an.
RegExp sind zwar mächtig, müssen sich dies aber auch irgendwie erkaufen. Spezialisiertere Funktionen für gängige einfache Aufgaben dürften effektiver arbeiten.
Kennt ihr bessere/schnellere Alternativen?
Ja, aber ohne Muster, nur mit feststehenden Suchstrings bietet sich strtr() in der zweiten Variante an.
echo "$verabschiedung $name";