Snucky: Zeilenumbrüche bei Auswertung einer 'textarea'

Hallo,

ich habe folgendes Problem:
Mein Script gibt die Eingabe von Zeilenumbrüchen in einer Textarea später nur als Leerzeichen aus. Beim Abschicken wende ich die Funktion htmlspecialchars und beim Ausgeben die Funktion stripslashes an. Weshalb aber merkt sich das Script nicht die Zeilenumbrüche?

Zusammenfassung: Obwohl ich in mein Textfeld Nachricht A als:"
asd

asd" eingebe, wird sie später als: "asd asd" ausgegeben.

Was soll ich tun?

  1. Was soll ich tun?

    echo nl2br($nachricht);

    benutzen.

  2. Hallo,

    Zusammenfassung: Obwohl ich in mein Textfeld Nachricht A als:"
    asd

    asd" eingebe, wird sie später als: "asd asd" ausgegeben.

    nein, der Text wird mit Zeilenumbrüchen ausgegeben (schau mal in den Quelltext). Da HTML aber Zeilenumbrüche im Quelltext ignoriert (außer bei <pre> o.ä.) werden die Zeilenumbrüche eben nicht dargestellt. Wenn du willst, dass die Zeilenumbrüche auch in der Anzeige zu sehen sind, musst du sie eben in ein <br> umwandeln - und dafür gibt es die Funktion nl2br().

    Grüße aus Nürnberg
    Tobias

  3. Hello,

    die Daten werden im Rohformat eingetippt und übertragen
    PHP fügt (je nach INI) automatisch Maskierungen hinzu http://de3.php.net/manual/de/function.get-magic-quotes-gpc.php
    Die Maskierungen musst Du dann ggf. eieder entfernen (aber vorher das Manual lesen!)
    Dann kannst Du die Daten im Rohformat in eine Datei speichern
    Du kannst die Daten auch im Rohformat wieder auslesen aus der Datei
    Nun kannst Du sie für die HTML-Ausgabe vorbereiten:

    • $daten = htmlentities($daten);    # HTML-eigene Zeichen codieren
    • $daten = nl2br($daten);           # vor den Zeilenumbrüchen jeweils einen <br /> einfügen

    Eventuell ist noch die Funktion wordwrap() als allerste auszuführen, damit lange Worte nicht das "Desgin" zerstören

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Ich bedanke mich bei euch allen für die Unterstützung!