CGI::escapeHTML() 不起作用
我是 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>";
I am new to CGI, my code output:
Hello, "<h1>Tom Cat</h1>"!
Seems the escapeHTML()
doesn't work.
I develope my cgi code with XAMPP 1.7.2 on winxp.
How can I fix it. Do I need download & install extra CGI Plugin for the current XAMPP? Appreciated for your help.
#!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>";
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你期待它做什么? escapeHTML 获取您的字符串并更改它,以便显示的内容就是字符串中的内容 - 它将其转换为其他内容,然后您的浏览器将返回到原始测试。
您的参数“myvar”似乎包含
;标签,将 escapeHTML 转换为
,以便您的浏览器可以恢复原始文本。
如果您希望它不执行此操作而是解释标签,则需要不对其进行转义。
What are you expecting it to do? escapeHTML takes your string and changes it so the what will display is what is in the string - it turns it into something else that your browser then turns back to the original test.
It would appear that your parameter "myvar" contains the <h1> tags, which escapeHTML turns into <h1>, so that your browser can restore the original text.
If you want it not to do this but to interpret the tags, you need not to escape it.