Perl 相当于 htmlentities()

Perl equivalent to htmlentities()

我是 Perl 新手。

我正在尝试复制 some/most 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

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

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

来实现

示例代码:-

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

以此作为参考:- Reference