Hallo
mein Code sieht so aus :)
<?php echo nl2br($ausgabe['inhalt']); ?>
Vor hatte ich noch die htmlspecialchars drin
<?php echo nl2br(htmlspecialchars($ausgabe['inhalt'])); ?>
In meiner Datenbank steht es so:
<strong>Hallo Test</strong>
*Das* ist der Fehler.
Nehme ich den Code ohne htmlspecialchars wird es richtig ausgeführt, nehme ich den Code mit htmlspecialchars wird mein <strong> als Text ausgegeben.
Logisch. Die Funktion tut, wie ihr gehießen. Sie maskiert, wenn vorhanden, „<“ und „>“. Dein Problem ist, dass du deinen Text an einer ungünstigen Stelle mit den *ausschließlich für die HTML-Ausgabe* nötigen Elementen versiehst.
Würdest du den Text in der Datenbank z.B. mit BB-Code oder Markdown lagern und ihn erst bei der Ausgabe mit den im Zielsystem (hier HTML) nötigen Formatierungen versehen, könntest du auch erst etwaige unerwünschte HTML-Elemente abfangen (htmlspecialchars) und dann die gewünschten Elemente einfügen. Das wäre eine Umwandlung der „Lagerungssyntax“ (z.B. eben BB-Code) in HTML oder was auch immer im Zielsystem richtig ist. Der Text könnte ja auch woanders ausgegeben werden.
Tschö, Auge
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
Veranstaltungsdatenbank Vdb 0.3