Text-datei auslesen ohne Zeilenumbruche

JimBeck

Grünschnabel
Hallo Leute,

ich habe folgendes Problem... eine Text-datei mit, sag mal, folgende Datensätze:

1|blau|eine schöner Farbe
2|gelb|eine kräftiger Farbe
3|grün|eine happy Farbe

Beim Auslesen über eine HTML-Maske mit Formelementen (erzeugt vom selben Perl Skript) schaut dann ein Datensatz so aus z.B.:

2
gelb
eine kräftige Farbe

Wenn ich dann versuche in dieser Maske, den Datensatz zu bearbeiten, z.B. dass ich in Feld 3 einen Zeilenumbruch zwischen "eine" und "kräftiger" hinzufüge, wird beim Schreiben zur Textdatei, der Text nach meinem Zeilenumbruch als neuer Datensatz betrachtet. Die Text Datei schaut dann nach einem Sort so aus:

1|blau|eine schöner Farbe
2|gelb|eine
3|grün|eine happy Farbe
kräftiger Farbe||

Wie kann ich das beheben, damit mein Text mit Zeilenumbruchen in einem Datensatz bleibt ?

Vielen Dank im Voraus, JimBeck
 
Hallo JimBeck,

Ich denke die Einzige lösung für Dein Problem ist, die Zeilenumbrüche (/n) die sich in deinem String befinden, der aus einem mehrzeiligen Input-Field stammt, mit etwas zu ersetzen, das beim schreiben in eine Datei nicht auch zu einem Zeilenumbruch führt.

Das kann mit einem Regulären Ausdruck wie folgt gemacht werden:

$description=~ s/\n/<BR>/g;

Dieser Reguläre Ausdruck ersetzt in dem String $description jedes Newline (/n) durch ein <BR> HTML Tag und schreibt das Ergebniss wieder zurück in den String.
Das hat auch den großen Vorteil, dass beim wieder ausgeben des Textes auf der HTML Seite dieser auch gleich ordentlich formatiert ist.;)

Du kannst natürlich auch irgendwas anderes nehmen, das nicht sonst irgendwann in Deinen Texten vorkommen kann.

Wenn Du die Datei später dann zurückliest, musst Du eventuell natürlich auch wieder den umgekehrten Weg gehen.

Ich hoffe ich konnte Dir helfen.

Gruss,

Dirk
 

Neue Beiträge

Zurück