0

私はCGIが初めてで、私のコード出力は次のとおりです。

Hello, "<h1>Tom Cat</h1>"!

動作escapeHTML()しないようです。

winxpでXAMPP 1.7.2を使用してcgiコードを開発しています。どうすれば修正できますか。現在の XAMPP 用に追加の CGI プラグインをダウンロードしてインストールする必要がありますか? ご協力ありがとうございます。

#!C:/Perl/bin/perl.exe -w


use strict; 
use CGI;

my $q = CGI->new();

print $q->header();
my $value = $q->param("myvar");

print $q->header();
print "<html><body>";
#print qq{Hello, "$value"!\n};
print qq{Hello, "}, CGI::escapeHTML($value), qq{"!\n};
print "</body></html>";
4

1 に答える 1

4

あなたはそれが何をすることを期待していますか?escapeHTML は文字列を取得し、それを変更して、表示される内容が文字列の内容になります。ブラウザが元のテストに戻るように、それを別のものに変換します。

パラメータ "myvar" に <h1> タグが含まれているように見えますが、これは escapeHTML が <h1> に変換されるため、ブラウザは元のテキストを復元できます。

これを行わずにタグを解釈したい場合は、エスケープする必要はありません。

于 2011-04-20T13:26:21.043 に答える