echo $begrüßung;
Das ist das falsche Werkzeug.
Stimmt. Ein HTML-Kontext liegt zu diesem Zeitpunkt nicht vor. Warum ich den unterstellt habe, entzieht sich grad meiner Kenntnis.
Sinn der Übung ist es, PHP-Code zu generieren. Der Code soll so aussehen, dass eine Variable den Inhalt eines Strings zugewiesen bekommt, und der Stringinhalt stand vorher in der Datenbank.
Mit HTML-Escaping bist du da vollkommen falsch. Stattdessen musst du dich auf die Vorkommen von Anführungszeichen sowie Steuerzeichen wie Newline, Linefeed, Tabs etc. konzentrieren. Halt alle die Zeichen, die normalerweise unsichtbar bleiben.
Einfache Anführungszeichen und der Backslash reichen. Letzerer muss zudem nur beachtet werden, wenn er vor einem ' steht. Es stört aber auch nicht, wenn er einzeln stehend als \ notiert wird. Für alle anderen Zeichen gibt es innerhalb eines Single-quoted-Strings keine Ersatz-Notation. Auch nicht für Steuerzeichen.
Also reicht ein strtr($ganznamen, array('\' => '\\', ''' => '\'')) beim Einfügen des Wertes.
echo "$verabschiedung $name";