Php Perl等价于htmlentities()

Php Perl等价于htmlentities(),php,perl,html-escape-characters,Php,Perl,Html Escape Characters,我是Perl新手 我试图复制PHP的一些/大部分功能 到目前为止,我有: $str = '" \' < >'; $str = join('&lt;', split('<', $str)); $str = join('&gt;', split('>', $str)); $str = join('&quot;', split('"', $str)); $str = join('&#039;', split("'", $str)); prin

我是Perl新手

我试图复制PHP的一些/大部分功能

到目前为止,我有:

$str = '" \' < >';

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

print $str;
$str='“\'<>”;
$str=join(“”,split(“”,$str));
$str=join(“”,split(“”,$str));
$str=join(“';”,split(“”,$str));
打印$str;
它满足了我的需求,但我内心的微优化器感觉一定有更好的方法

我对正则表达式很糟糕,很多Perl教程都是关于自定义或非标准库的,或者是因为我缺乏经验,所以看起来是这样

perl-v
产生:

v5.10.1


使用的
encode_entities
(它显然不是100%等价的,因为
htmlentities
的beavhour根据传递给它的参数而变化。)

嘿,你所要求的可以通过使用decode_entities()实现

示例代码:-

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

将此作为参考:-

而不是“我内心的微优化器感觉一定有更好的方法”,考虑一下:“我内心的[优秀的]懒惰程序员希望避免重新发明轮子“。努力找到并使用正确编写的其他/现有方法。@user2864740感谢您的意见,但我确实在相当长的一段时间内试图找到正确的现有方法,当然有过多的信息,但我没有成功。”。问SO通常是我所有问题的最终解决办法。确保SO不是第一个解决办法:这与OP的要求相反。因为上面提到的关于编码的答案,我已经编辑了我的答案以解码,所以用户知道这两个!如上所述,我的答案是经过编辑的。好的Perl示例似乎是一帆风顺的,因此我想为未来的谷歌用户提供以下答案:-)+1这就是发展我们的精神!。嗯,我可以发誓这是一个解决方案,我尝试过并收到了服务器错误,但我昨天确实启动了Perl,所以错误可能在代码的其他部分。无论如何,这个解决方案对我来说是有效的,而且是无错误的。谢谢