N2O: Aus einer <textarea> Umbrüche filtern

Hallo allerseits!

Auch wenn ihr das Problem vielleich schon zigmal gehört und gehabt habt, ich bekomme es einfach nicht gelöst.

Ich schicke aus einer textarea Inhalt standardmäßig per GET (POST habe ich auch schon getestet, funktioniert ebenfalls nicht).

Das sieht als URI-Anhängsel dann bspw. so aus:

?text=Beispiel%0D%0A%3Cbr%3E%0D%0ABeispiel

Und so sah es in der textarea aus:

Beispiel
<br>
Beispiel

Jetzt will ich aber, dass mein PHP-Skript Folgendes in eine Datei schreibt:

Beispiel<br>Beispiel

Ich habe es schon versucht, indem ich den ASCII-Code habe versucht herauszubekommen (str_replace bzw. strtr mit chr(13) oder auch schon "%0D"), auch mit dem Ersetzen von \r\n hat's nicht funktioniert.

Wer weiß Rat - was mache ich falsch?

Gruß
Lachgas

  1. Hi Lachgas,

    probiers mal mit nl2br

    "Mit nl2br() kann man aus einem String (string) sämtliche Zeilenumbrüche in die
    HTML-Entsprechung <br> umwandeln lassen. So bleibt eine Textformatierung,
    die innerhalb eines Formulars vorgenommen wurde, weiterhin bestehen."

    Gruß
    Johann

    1. probiers mal mit nl2br

      Das Problem hierbei ist, dass trotzdem Zeilenumbrüche, also carriage returns, vorhanden bleiben.
      Funktioniert also auch nicht.

      Trotzdem Danke

      Gruß
      Lachgas

      1. Problem hat sich von selbst gelöst

        Sorry

        Gruß
        Lachgas

        probiers mal mit nl2br

        Das Problem hierbei ist, dass trotzdem Zeilenumbrüche, also carriage returns, vorhanden bleiben.
        Funktioniert also auch nicht.

        Trotzdem Danke

        Gruß
        Lachgas

  2. Hello,

    ...

    vielleicht benutzt Du auch nur den falschen Dateityp.
    Wenn Du eine CSV-Datei benutzt, und Begrenzungszeichen und Trennzeichen setzt, dann können die CRLF nämlich im Feld stehen bleiben, ohne dass es Probleme gibt. Du musst dann aber die Begrenzungszeichen, die im Feld vorkommen, mit einem zusätzlichen Begrenzungszeichen maskieren.

    Wenn Du also Doppelhäkchen als Begrenzungszeichen benutzt, musst Du ggf. erst die Backslashes, die PHP dann automatisch hinzufügt (je nach Einstellung) wieder entfernen und dann die Doppelhäkchen mit str_replace('"','""',$text) wieder maskieren.

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

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau