Carsten: Entermarke entfernen

Hallo Leute,

ich komme mal wieder nicht weiter:

Ich möchte mittels PHP eine kleine Datenbank aufbauen.
Mein HTML-Formular enthält ein Textarea-Feld, worin man (leider) auch die Entertaste betätigen kann. Wenn ich das Feld in ein Array schreibe (weil ich ja mehrere Felder habe), dann werden in der Text-Datei auch die Absatzmarkierungen übertragen, so dass es in der Text-Datei wie folgt aussieht:

Name;Email;Dies ist[ABSATZ]
ein Toller[ABSATZ]
Test

Kann mir jemand einen Tipp geben?

Danke! Carsten

  1. Hallo,

    Zeilenumbrueche sind ja auch Ascii-Zeichen, naemlich hex \012 und hex \015, bzw. \r und \n oder Kombinationen davon, je nach Betriebssystem. Die wirst du alle los mit
    $mein_text = preg_replace ("/(\015\012)|(\015)|(\012)/","",$mein_text);

    Dieter

    1. Hallo Dieter!

      Die Antwort ist schon ok - aber bei mir haben die erwähnten Zeichen den Dezimalwert 13 und 10 - ob das in Hex wirklich 15 und 12 ist - oder ist deine Angabe doch eher oktal. Naja - der Lösung tuts grundsätzlich keinen Abbruch ...

      mfg

      norbert =:-)

      1. Dezimalwert 13 und 10 - ob das in Hex wirklich 15 und 12 ist

        Dezimal 10 ist "A" Hexa und
        Dezimal 13 ist "D" Hexa.

        Hoffe, ich hab da jetzt nix missverstanden ;)

        Lynky

    2. $mein_text = preg_replace ("/(\015\012)|(\015)|(\012)/","",$mein_text);

      Danke!!! Funktioniert prima! Scheinen auch die richtigen Hexadezimalzahlen zu sein.

  2. Hallo

    Einfach die Absatzmarken vorher entferne (str_replace usw). Oder soll astelle des Absatzes ein <br /> als Zeilenumbruch auch in der Ausgabe verwendet werden? Dann gibts die schöne Funktion nl2br() -> $str = nl2br($str);
    http://php3.de/nl2br

    Grüße

    David

    --
    "Nobody will ever need more than 640k RAM!"
    1981 Bill Gates