我是Perl的新手。
我正在尝试复制PHP htmlentities()
到目前为止,我有这个:
$str = '" \' < >';
$str = join('<', split('<', $str));
$str = join('>', split('>', $str));
$str = join('"', split('"', $str));
$str = join(''', split("'", $str));
print $str;
它正在满足我的需求,但我的微优化器感觉就像必须有更好的方法。
我对正则表达式很糟糕,所以很多Perl教程都处理自定义或非标准库,或者由于我的经验不足,这似乎就是这样。
perl -v
产生:
v5.10.1
答案 0 :(得分:3)
使用HTML::Entities的encode_entities
。 (显然不会100%相等,因为htmlentities
的beavhour根据传递给它的参数而有所不同。)
答案 1 :(得分:0)
使用decode_entities()
可以实现您的要求示例代码: -
use HTML::Entities; my $html = "Hey & <"; print decode_entities($html), "\n";
将此作为参考: - Reference