Pjotre: Text speichern und auslesen

Hallo,

Über eine Textarea wird ein Text in einer Datenbank gespeichert:
Text:
-----------------
1.Zeile
2.Zeile

4.Zeile
-----------------
Wenn ich diesen Text nun wieder auslese und darstelle sieht der Text folgendermaßen aus:
-----------------
1.Zeile 2.Zeile 4.Zeile
-----------------

Die Zeilenumbrüche werden also nicht mit übernommen.
Wenn ich den gespeicherten Text jedoch wieder in einer Textarea darstelle, wird er richtig dargestellt.

Wie kann ich es also machen, dass der Text in der bloßen ausgabe richtig (also inkl. der Zeilenumbrüche) dargestellt wird?

Thx

  1. Hello,

    Über eine Textarea wird ein Text in einer Datenbank gespeichert:
    Text:

    1.Zeile
    2.Zeile

    4.Zeile

    Wenn ich diesen Text nun wieder auslese und darstelle sieht der Text folgendermaßen aus:

    1.Zeile 2.Zeile 4.Zeile

    Die Zeilenumbrüche werden also nicht mit übernommen.
    Wenn ich den gespeicherten Text jedoch wieder in einer Textarea darstelle, wird er richtig dargestellt.

    Wie kann ich es also machen, dass der Text in der bloßen ausgabe richtig (also inkl. der Zeilenumbrüche) dargestellt wird?

    Was geschieht denn mit Zeilenumbrüchen im HTML-Kontext?
    Was muss man tun, damit der HTML-Parser einen Zeilenumbruch erzeugt?

    Kennst Du die Funktion nl2br()
    http://de.php.net/manual/en/function.nl2br.php
    die vor einem Zeilenumbruch im Fließtext ein "<br />" oder "<br>" einfügt?

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. Hallo,

    Die Zeilenumbrüche werden also nicht mit übernommen.

    in einer Textarea sorgen die gleichen Zeichen für einen Zeilenumbruch wie in Klartextdateien in einem Texteditor. HTML hat dagegen ein eigenes Element für den Zeilenumbruch: das http://de.selfhtml.org/html/referenz/elemente.htm#br@title=br-Element.

    Wenn ich den gespeicherten Text jedoch wieder in einer Textarea darstelle, wird er richtig dargestellt.

    Wie kann ich es also machen, dass der Text in der bloßen ausgabe richtig (also inkl. der Zeilenumbrüche) dargestellt wird?

    indem Du zu Zeilenendenzeichen in Textdateien br-Elemente hinzufügst oder Zeilenendenzeichen in br-Elemente umwandelst. In PHP gibt es dafür zum Beispiel die Funktion nl2br().

    Bitte beachte zusätzlich, dass Du die Benutzereingaben kontextgerecht für HTML aufbereitest, PHP stellt Dir dafür die Funktion htmlspecialchars() zur Verfügung. Falls Du dies nicht machst, können Dir böswillige Benutzer Deiner Seite beispielsweise Iframes mit bösartigen Inhalten unterjubeln.

    Freundliche Grüße

    Vinzenz

    1. Supi,
      vielen Dank auch für den Hinweis mit der html-Geschichte...
      Klappt jetzt alles wunderherrlich...