Franzi: htmlspecialchars und nl2br

Hallo allerseits,

ich habe folgendes Problem:

Ich lese einen Text aus einer MySql-Datenbank aus.
Der Text steht in $text.
Nun soll es so sein, dass

1. mitgespeicherte Zeilenumbrüche auch angezeigt werden und
2. Sonderzeichen als solche dargestellt werden.

Seperate Lösungen sind:

Punkt 1. erreiche ich mit nl2br($text),
Punkt 2. erreiche ich mit htmlspecialchars($text)

Wnn aber 1. und 2. umgesetzt werden soll, dann helfen weder
nl2br(htmlspecialchars($text)) noch htmlspecialchars(nl2br($text))

weiter.

Gibt es eine php-Funktion, die das gewünschte leistet, oder muss man ein Workaround schreiben?

Danke,
Franzi

  1. hi,

    1. mitgespeicherte Zeilenumbrüche auch angezeigt werden und
    2. Sonderzeichen als solche dargestellt werden.

    Wnn aber 1. und 2. umgesetzt werden soll, dann helfen weder
    nl2br(htmlspecialchars($text)) noch htmlspecialchars(nl2br($text))
    weiter.

    dann machst du irgend etwas falsch.

    ersteres sollte funktionieren.
    letzteres ist natürlich unfug, weil dann aus den von nl2br eingefügten <br /> durch htmlspecialchars wieder &lt;br /&gt; gemacht würde.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hi Franzi,

    wahsaga hat dir ja schon gesagt, dass du da vermutlich irgendwas falsch machst - ergänzend möchte ich dir noch empfehlen htmlentities() zu nutzen - dann hast du direkt alle HTML Zeichen kodiert.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
    Die Definition des SelfCodes ist hier zu finden, es gibt auch einen Encoder.