cgi / perl / html - 打印成html时要转义的字符是什么?

时间:2013-11-27 22:50:59

标签: html perl cgi

我有一个输入文件需要直接打印到html页面。

我做过$inputfile =~ s/\n/<br>/g;是否还有其他特殊字符,我应该注意除了&lt;和&gt;何时将此$ inputfile打印到html?

1 个答案:

答案 0 :(得分:10)

你绝对应该使用HTML::Escape而不是做一些构思错误的hackjob,这将导致每个处理你的代码的人(包括你)在将来诅咒你的名字。

很简单 - 通过CPAN安装HTML::Escape,然后使用它:

use HTML::Escape qw(escape_html);
my $escaped_string = escape_html($string);

请注意,如果你想保留空白格式,你应该使用一个模块来执行此操作,例如HTML::FromText - 上面的代码不会自动将换行符转换为
标签,因为这是不同的完全从将不安全的字符转义为HTML实体。