echo $begrüßung;
Habe nun ne Menge rumgetestet, aber nicht hinbekommen.
Ich verstehe nicht, warum er bei:
$out = preg_replace('/^([^)]/', $replace_with, $haystack);
beim ersetzen den Buchstaben dahinter und davor wegmacht und wie man das verhindern kann.
Alles was du in dem Suchmuster angibst wird von der RegExp-Maschine für das Bilden des gesuchten Wertes verwendet. Wenn du das für die Klammern nicht willst, kannst du das, wie ich bereits schrieb, mit Assertions verhindern, die auch auf der von Mathias verlinkten Seite beschrieben sind.
echo "$verabschiedung $name";