CGI::escapeHTML() 不起作用

发布于 2024-11-02 14:59:28 字数 565 浏览 1 评论 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>";

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

金兰素衣 2024-11-09 14:59:28

你期待它做什么? 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文