phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?AW=3A_=5Bphp=5D_Nochmal_Zeilenumbr=FCche_aus_St?= =?iso-8859-1?Q?ring_entfernen=2E=2E=2E=2E?= =?iso-8859-1?Q?ring_entfernen=2E=2E=2E=2E?=

[php] =?iso-8859-1?Q?AW=3A_=5Bphp=5D_Nochmal_Zeilenumbr=FCche_aus_St?= =?iso-8859-1?Q?ring_entfernen=2E=2E=2E=2E?= =?iso-8859-1?Q?ring_entfernen=2E=2E=2E=2E?=

Gloss Mathias Mathias.Gloss_(at)_start.de
Tue, 30 May 2000 18:29:12 +0200


Aloha,

> ----------
> Von: 	Christian Bader[SMTP:christianbader_(at)_gmx.net]
> 
> Komisch ist folgendes:
> 
> den String bekomme ich aus einem mehrzeiligen Textfeld aus einem Formular.
...


> <?php
> $zeile = chop($mail) . "|" . chop($betreff) . "|" . chop($text) . "\n";
> $file = fopen("gaestebuch.txt", "a");
> fputs($file, $zeile);
> fclose($file);
> echo "eintrag abgeschlossen!!!";
> ?>
> 
> Im File steht dann (leider) z. Bsp:
> 
> papst_(at)_vatikan.va|Nomen est Omen...|Hallo Jochen,
> christianbader_(at)_gmx.net|Nomen est Omen...|hi,
> schöne seite!
> 
Einfache Lösung:

a) dein Script ist völlig korrekt.
   es Trägt die Zeilen so ein wie es soll,
   AUSSER
b) diese Zeile:

> hi,
> schöne seite!
> 
Das sieht so aus, als ob der Absender einen
Zeilenumbruch mit in den Text gepackt hat,
was man z.B. in einer <textarea> machen kann.
Die Browser übertragen das teilweise.
Entweder du stellst das ab (wie weiss ich grad 
nicht, steht aber im Selfhtml beim Formular-
feld Textarea)
Oder du filterst aus $text alle Zeilenumbrüche
mit regexp raus (was mir zu Blöd wär, weil dann
sind sie ja weg) oder du missbrauchst grob die
Befehle urldecode und urlencode.

Dann kannst du die Zeile
> $zeile = chop($mail) . "|" . chop($betreff) . "|" . chop($text) . "\n";
durch die Zeile
> $zeile = chop($mail) . "|" . urlencode(chop($betreff)) . "|" . chop($text)
> . "\n";
ersetzen, und beim Auslesen wendest du urdecode an.

Viele Grüße, Mathias




php::bar PHP Wiki   -   Listenarchive