"\n"s des Formulars entfernen
eHolger
- php
Guten Abend,
folgende Situation: Ich habe ein Textfeld in einem Formular, in das man logischerweise Text und - und darin liegt das Problem - auch Zeilenbrüche eingeben (durch die Entertaste). Jetzt wird dieser Text aber in eine TXT-Datei geschrieben, in der jeder Eintrag nur eine Zeile lang sein darf.
Ich will also bezwecken, dass wenn der Text, der in das Textfeld eingegeben wurde, Zeilenumbrüche enthält, diese entfernt und der Text auf eine Zeile "abgeflacht" wird.
Wer kennt den PHP-Befehl?
Grüsse
eHolger
Ich würde ganz einfach mit der Fkt. str_replace(); alle "/n" durch einen Leerstring "" oder ein Leerzeichen (wie du es brauchst)ersetzten lassen.
also:
str_replace("/n", " ", $text);
mfg
Stefan.
Hello,
Ich würde ganz einfach mit der Fkt. str_replace(); alle "/n" durch einen Leerstring "" oder ein Leerzeichen (wie du es brauchst)ersetzten lassen.
also:str_replace("/n", " ", $text);
Im Prinzip schon so aber eher
$_surch = array("\r\n","\r","\n");
$replace = chr(127);
$neustring = str_replace(chr(127),' ',$string); ## nicht erlaubtes Zeichen tauschen
$neustring = str_replace($_surch,chr(127),$neustring); ## störendes Zeichen tauschen
Und dann wegschreiben.
Nach dem Holen das Ganze eben Rü+ckgängig machen:
$neustring = str_replace(chr(127),"\r\n", $holstring);
Alle Plattformen kommen mit "\r\n" zurecht, sodass man den Informationsverlust verschwerzen kann.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
$neustring = str_replace(chr(127),' ',$string); ## nicht erlaubtes Zeichen tauschen
$neustring = str_replace($_surch,chr(127),$neustring); ## störendes Zeichen tauschen
Im Prinzip hast du ja Recht, aber wenn ich durch das Formular absende, steht in der Textdatei gar kein "\n". Es ist einfach ein Zeilenumbruch durch das Formular entstanden...
Hello,
$neustring = str_replace(chr(127),' ',$string); ## nicht erlaubtes Zeichen tauschen
$neustring = str_replace($_surch,chr(127),$neustring); ## störendes Zeichen tauschenIm Prinzip hast du ja Recht, aber wenn ich durch das Formular absende, steht in der Textdatei gar kein "\n". Es ist einfach ein Zeilenumbruch durch das Formular entstanden...
Eben hast Du doch geschrieben, dass Dich die Zeilenümbrüche durch Enter im Textfeld stören.
Und nun sind plötzlich gar keine drin?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Und nun sind plötzlich gar keine drin?
Sorry, habe das chr(127) überlesen...
Jetzt funktioniert es.
Besten Dank
Hello,
darüber habe ich in den letzten vier Wochen bestimmt zweimal ausführlich geschrieben hier.
Entweder, man tauscht die schädlichen Datenwerte gegen unschädliche vor dem Wegschreiben und nach dem Holen wieder zurück oder man nimmt fgetcsv() und maskiert die Delimiter, die bei PHP aber Enclosure heißen.
Such im Archiv nach "author:Tom fgetcsv()" und Du wirst fündig.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom