Perl相当于htmlentities()

时间:2016-08-09 19:25:26

标签: php perl html-escape-characters

我是Perl的新手。

我正在尝试复制PHP htmlentities()

的部分/大部分功能

到目前为止,我有这个:

$str = '" \' < >';

$str = join('&lt;', split('<', $str));
$str = join('&gt;', split('>', $str));
$str = join('&quot;', split('"', $str));
$str = join('&#039;', split("'", $str));

print $str;

它正在满足我的需求,但我的微优化器感觉就像必须有更好的方法。

我对正则表达式很糟糕,所以很多Perl教程都处理自定义或非标准库,或者由于我的经验不足,这似乎就是这样。

perl -v产生:

  

v5.10.1

2 个答案:

答案 0 :(得分:3)

使用HTML::Entitiesencode_entities。 (显然不会100%相等,因为htmlentities的beavhour根据传递给它的参数而有所不同。)

答案 1 :(得分:0)

使用decode_entities()

可以实现您的要求

示例代码: -

use HTML::Entities; my $html = "Hey &amp; &lt"; print decode_entities($html), "\n";

将此作为参考: - Reference