Eingabe von Return in Html-Formular
Johannes Eble
- perl
0 gerhard0 Ole
0 Jens Wollschläger0 Cheatah
Hallo,
in meiner Webseite kann man ein Formular ausfuellen, u.a. ein Kommentarfeld. Die Daten werden in einer *.htm-Datei gespeichert, sodass ich diese mir mit einem Browser ansehen kann.
Wie erreiche ich es in Perl, dass Zeilenumbrueche (Return)in <BR> verwandelt werden?
Data{'comments'} ~= s/\n/<BR>/g;
funktioniert nicht. Haengt es davon ab, ob der Server eine Unix (wie bei mir) oder eine NT Maschine ist? Was passiert, wenn andere Sonderzeichen (Tab, ä,å,"'~;...) geschrieben und gesendet werden?
Vielen Dank
Johannes
Data{'comments'} ~= s/\n/<BR>/g;
Data{'comments'} =~ s/\n/<br>/sg;
s = treat as single line
g = generally
\t ist ein tabulator, und die umlaute kannst du entweder einzeln übersetzen oder du verwendest eine library. but: take a look at selfhtml first!
gerhard
hi
ich hab ezwar von perl keine ahnung, aber wenn du ein html-formular verwendest kannst du doch einfach folgendes probieren:
<textarea wrap=physikal>
ich weiß nicht ob das klappt, könnt ich mir aber gut vorstellen.
ole
(8-)>
Hallo, das Problem hatte ich auch schonmal, als ich mein Gästebuch schrieb.
Du musst
$Rohdaten =~ s/%0D%0A/<br>/g;
den eben genannten regulären Ausdruck verwenden.
Die <enters> würd ich damit gleich am Anfang rausfiltern.
%0D%0A ist wohl sone art steuerzeichen oder sowas.
Was die anderen Zeichen betrifft - wende sie doch einfach auf dein textarea an und schau dir den String auf der Bildschirmausgabe so an, wie er ankommt ($Rohdaten im Selfhtml-Beispiel)
Ok, c ya.....Jens
Hi,
Wie erreiche ich es in Perl, dass Zeilenumbrueche (Return)in <BR> verwandelt werden?
die beiden vorherigen Lösungen sind halb richtig ;-)
Je nach verwendetem Betriebssystem wird nämlich \n, \r\n oder auch \r übergeben. Dies mußt Du abfangen:
s/\r\n\n\r/<BR>/g;
Cheatah