homer: Text aus mehzeiligen Textfeld in Textdatei immer mit Leerzeile?

Hallo!

Der Inhalt aus einem mehrzeiligen Textfeld wird in eine Textdatei geschrieben. Die Textdatei sieht dan ungefähr so aus:

Hier ist der Text

dann kommt hier

erst die nächste

Zeile

Es ist zwar korrekt, dass der Zeilenumruch so ist, aber es sollte ohne Leerzeile sein. Wie kann man das verhindern und "säubern"?

  1. $text = trim($text);

    entfernt überflüssigen WhiteSpace vorne unten hinten.

    s.a. chop(), ltrim(), rtrim()

    Christian

  2. Hallo homer,

    Der Inhalt aus einem mehrzeiligen Textfeld wird in eine Textdatei geschrieben. Die Textdatei sieht dan ungefähr so aus:

    Hier ist der Text

    dann kommt hier

    erst die nächste

    Zeile

    Da stimmt m.E. schon irgendwas im Script nicht, welches den Inhalt des Textfeldes in die Datei schreibt. Ein Zeilenumbruch besteht normalerweise aus einem "\n", unter Windows aus "\r\n" - so auch in den textareas.

    Mit der Funktion str_replace kannst du nach diesen Zeichen im String suchen und sie z.B. durch einen leeren String ersetzen (http://www.php.net/manual/de/function.str-replace.php). Das würde allerdings alle Zeilenumbrüche entfernen, das willst du sicher auch nicht.

    Eine andere Möglichkeit ist die Verwendung von regulären Ausdrücken, welche wesentlich mächtiger sind. Dazu gibt es eine kleine Einführung in SELFHTML: http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm. Diese sind zwar im CGI/Perl-Kapitel, lassen sich jedoch auch in PHP verwenden (siehe die Reguläre-Ausdrücke-Funktionen: http://www.php.net/manual/de/ref.pcre.php

    Es ist zwar korrekt, dass der Zeilenumruch so ist, aber es sollte ohne Leerzeile sein. Wie kann man das verhindern und "säubern"?

    Wie gesagt, ich denke, das Problem liegt schon beim Abspeichern der Daten. Von daher würde ich da schon ansetzen.

    Grüße aus Darmstadt,
    Benjamin