HTML-Code aus DB auslesen und ausgeben (ohne Interpretation)

Robert Steichele

Erfahrenes Mitglied
Wie kann ich HTML-Code, den ich aus einer Datenbank auslese und der als Variable vorliegt, ausgeben, ohne dass er interpretiert wird?
Genau genommen habe ich dafür schon die Lösung (htmlentities($string)), aber dann werden bei der Ausgabe die Zeilenumbrüche auch nicht interpretiert und der Code wird in einer Zeile ausgegeben.

Gruß
Robert
 
Zuletzt bearbeitet:
Entweder nutzt du das dafür vorgesehene pre-Element für präformatierten Text oder du erweiterst die Klartext-Zeilenumbrüche mithilfe der nl2br()-Funktion mit HTML-Zeilenumbrüche.
 
Das hatte ich schon versucht, aber <pre> verhindert das Interpretieren des Codes nicht und wenn ich die Variable vor der Ausgabe durch nl2br() jage, wird <br /> ausgeschrieben, da htmlentities() die Interpretation ja verhindert.
 
Wie wärs dann, wenn du [phpf]nl2br[/phpf] einfach hinter [phpf]htmlentities[/phpf] notierst? Dann sollte das funktionieren, da die Zeichenumbrüche ja erst nachträglich in <br>'s umgewandelt werden.
 
Du musst erst nach Ersetzen der HTML-Metazeichen die Klartext-Zeilenumbrüche hinzufügen, also:
PHP:
nl2br(htmlspecialchars($string))
Oder eben:
PHP:
'<pre>'.htmlspecialchars($string).'</pre>'
 
Wie wärs dann, wenn du [phpf]nl2br[/phpf] einfach hinter [phpf]htmlentities[/phpf] notierst? Dann sollte das funktionieren, da die Zeichenumbrüche ja erst nachträglich in <br>'s umgewandelt werden.

Manchmal ist es so einfach, man muß nur drauf kommen. Muß wohl auf dem Schlauch gestanden haben. So funktioniert es:

1. htmlentities($Var);
2. nl2br($var);
3. echo $var

Danke für die Antworten
 
Zurück