beatovich: Wiki-Push: PHP

Beitrag lesen

hallo

Tach!

Da templates oft einen Kontextwechsel beinhalten, muss die Kontextgerechte Behandlung bereits im Template enthalten sein. Da siehts dann mit heredoc eher schlecht aus.

Dazu müsste der Platzhalter den Kontext kennen, in dem er sich befindet. htmlspecialchars() ist ja nicht für alle Kontexte eines HTML-Dokuments geeignet, mitunter muss man mehrere Maskierungen schachteln.

Natürlich. Die Frage ist nur wann. Es braucht hier nicht interessieren, dass $var1 Javascript ist. Und das javascript muss nichts wissen über den Kontxt in den es eingesetzt wird.

sprintf('<button onclick="%s">%s</button>', htmlspecialchars($var1), htmlspecialchars($var2));