Peter: Gästebuch programmieren

Beitrag lesen

na zwei Probleme hast Du auf jeden Fall noch.
Das Trennzeichen für die Felder sollte eines sein, dass im Text nicht enthalten sein kann. Und da Du in einer Datei mit Wahlfreier Satzlänge abspeicherst (PHP sltellt leider keine fertigen Record-Funktionen zur Verfügung für feste Satzlänge), musst Du das Zeilenende-Zeichen noch austauschen.

Wieso? Bisher habe ich \n als Zeilenende, ist das nicht gut?

Es bieten sich aus Tradition für den Feldtrenner #004 und für das Return im Text #127 an. Die stehen frei zur Verfügung und können nicht vom Browser kommen. Allerdings sollte man nden Text vorher trotzdem darauf scannen und wenn welche drinstehen, einfach durch #32 ersetzen. Kann ja nur passieren, wenn Dich jemand ärgern will.

Wie mache ich das denn?
$dat = ereg_replace("(\r\n|\r|\n)","#127", $dat);
So habe ich versucht, alle Zeilenumbrüche des Postings in das Zeichen #127 umzuwandeln, allerdings werden nun alle Zeilenumbrüche in den String "#127" umgewandelt.

Vor der Ausgabe musst Du dann natürlich erst die Rückwandlung vornehmen und das #127 je nach Ausgabeziel durch #13#10<br /> oder eben nur durch #13#10 oder #10 oder #13 ersetzen.

Wofür stehen denn #10 und #13? Kann ich nicht bei der Ausgabe #127 wieder in <br> oder \n umwandeln?

Danke für deine Hilfe,
Peter