alfie: PHP-Maskierungen

Beitrag lesen

Hallo dedlfix!

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.

Ja das stimmt; da ich aber der komplette Code (+ Link zur Ausgabe der gerenderten HTML-Seite) in meinem ersten Post enthalten war, habe ich angenommen, der Kontext ist klar. ;-)

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.

Das habe schön langsam auch ich begriffen...

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 '.

Die 'working solution' ist hier zu finden.

Danke auch für den Link; den Satz mit Arnold habe ich schon früher öfter gelesen.