Struppi: Welche Sonderzeichen in textareas escapen?

Beitrag lesen

Also, mein script lädt also eine Datei und stellt sie ($pg) dann über HTML in einer textarea dar:

Problem ist klar: Ich muß bestimmte Zeichen vorher escapen, mindestens darf die Zeichenfolge "</textarea>" nicht im Ausgabestring ($pg) vorkommen. Also:

....

Ich möchte aber auch Perl-Scripts editieren können, auch das Script des Editors selbst! Würde ich es so ausgeben, dann würde ja &#x003C in ein "<"-Zeichen umgewandelt werden. Also muß cih auch Hashes escapen:

...

Nach dem submitted der textarea müssen die escapten Werte wieder zurückgewandelt werden

....

Bevor der String in die zuvor "gebackupte" Datei geschrieben wird.

Frage: Hab ich beim escapen der Werte noch irgentwas übersehen? Ich möchte jede mögliche (Text-)datei in die textarea laden können, ohne das sich nach dem submit irgentein Buchstabe oder Sonderzeichen ändern würde.

Also wen ich das richtig sehe, muss so nichts escapet werden:

#!/usr/bin/perl -w

use HTML::Entities;
use CGI qw/:standard/;

my $v = "<textarea>";

print header(), start_html();
if(param('action'))
{
print '<pre style="border:1px solid black">' . encode_entities(param('text')) . '</pre>';

}

print start_form()
     . textarea(-name=>'text', -value => $v)
     . br()
     . submit(-name => 'action', -value => 'abschicken')
     . end_form();

Struppi.