dedlfix: _POST Array mit htmlspecialchars und ENT_QUOTES ausgeben

Beitrag lesen

Hi!

Allerdings muss man den Aufwand mit dem ENT_QUOTES gar nicht treiben, denn sowohl ' als auch " kann problemlos unmaskiert im HTML-Code stehen.
Ich verstehe die Reihenfolge auch nicht so ganz.
Mir erscheint es unlogisch $_POST von Haus aus zu maskieren und das Array als String zu übergeben nur um es anschließend auszugeben.

Es geht darum, eine Kontrollausgabe des Inhalts von $_POST zu erstellen und diese im Kontext HTML auszugeben - hier genauer gesagt als Inhalt eines pre-Elements. print_r($_POST, true) erzeugt die Kontrollausgabe. Wenn allerdings in ihr < oder & vorkommen, kann das einen Browser zum Interpretieren statt Nur-Anzeigen veranlassen. Deshalb muss man diese beiden Zeichen HTML-gerecht maskieren. htmlspecialchars() tut dies, und obendrein auch noch > und ", was hier aber nicht weiter stört, wenn es das nicht täte.

Bei der Ausgabe im HTML ist die Maskierung von ', wie du ja auch meintest, sinnfrei und woanders sehe ich keinen Zusammenhang zu htmlspecialchars.

< und & wird benötigt.

Ich würde die Ausgabe, vom Gefühl her, anders gestalten. Das scheint mir sehr konfus.

Einfacher geht es eigentlich nicht. Man kann nur noch/dann auf das htmlspecialchars() verzichten, wenn man kein HTML in den $_POST-Werten erwartet. An dieser Stelle darf man das ruhig so lax handhaben, denn es geht nur um eine Kontrollausgabe beim Debuggen, mit selbst eingegebenen Werten und nicht um eine produktive Anwendung (anzunehmenderweise).

Lo!