Text aus mehzeiligen Textfeld in Textdatei immer mit Leerzeile?
homer
- php
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"?
$text = trim($text);
entfernt überflüssigen WhiteSpace vorne unten hinten.
s.a. chop(), ltrim(), rtrim()
Christian
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