Wenn man einen Quellcode für eine Seite oder ein Skript im Internet veröffentlichen möchte, bindet man diesen Quellcode am besten in den Tag <code></code> ein. Das sorgt dafür das dieser Quelltext im Browser anders als die sonstige Schrift dargestellt wird. Wenn ein Artikel allerdings in eine MySQL-Datenbank geschrieben und anschließend aus dieser wieder aufgerufen wird, kann es passieren das der Quellcode eben nicht wie gewünscht angezeigt, sondern ausgeführt wird. Beschreibt der Quellcode zum Beispiel den Aufbau eines Formulars, wird statt des Quellcodes des Formulars das Formular selber angezeigt.

Das gleiche kann in einem Editor wie dem von mir genutzten ckeditor passieren. Schuld ist auch hier, das HTML schlauer als wir Menschen ist und das geschriebene Word in Quelltext wandelt. Lösen kann man das, in dem man den betreffenden Text vor der Ausgabe neu codiert. Angenommen, wir lesen einen Artikel aus der Datenbank aus und weisen den Inhalt des Artikels der Variablen $artikel zu, so fügen wir folgende Zeile dem Skript vor der Ausgabe des Artikels ein:

$artikel = htmlspecialchars($artikel,ENT_COMPAT | ENT_HTML401, "ISO-8859-1");

Könnte dich auch interessieren: