echo $begrüßung;
Aber was stimmt hier nicht?
onclick="Test2('Hello World!');"
Das ist jetzt aber der umgekehrte Fall, also aus der Sicht des Ausführenden und nicht der des Programmierers.
Dein Code-Fragment ist aus dem Zusammenhang gerissen. Man erkennt den Kontext nicht, in dem es steht.
Angenommen, das sei ein Teil eines PHP-Strings, so muss das Fragment als Ganzes betrachtet werden. Dass da ein onclick-Attribut zu sehen ist, dessen Inhalt Javascript ist, ist für das PHP uninteressant. Es sieht einfach nur eine Folge von Zeichen.
Weiterhin angenommen, der PHP-String ist mit ' eingefasst (single quoted), so gibt es nur zwei Sonderfälle: ' und \. Alle anderen Kombinationen, also auch ", werden als zwei eigenständige Zeichen interpretiert. Die " bleiben so wie sie sind, die ' werden zu einfachen '.
echo "$verabschiedung $name";