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 回答