【发布时间】:2017-09-25 00:37:08
【问题描述】:
我想做一些简单的事情,比如用它的实体名称而不是它的(十六进制)十进制数来编码一个撇号。但是,HTML::Entities 似乎无法做到这一点。
use warnings;
use strict;
use HTML::Entities qw(encode_entities);
my $char = "'";
print encode_entities($char);
# '
但是,在从实体到字符的导出哈希中,撇号显示为apos。
print $HTML::Entities::entity2char{'apos'}
# '
为什么某些字符的 HTML 实体名称不可用?还是应该以某种方式强迫它?
【问题讨论】:
-
据我记忆,并不是所有的实体都有名字。 en.wikipedia.org/wiki/… 有一个列表。
-
你为什么要
'而不是'? -
@Borodin 我们在文件名中使用一些特殊字符作为标识符,最好用语义透明的名称对它们进行分类。换句话说,
apos比'清晰得多。 -
你可以把它放回
%HTML::Entities::char2entity,并希望使用你页面的浏览器表现良好。
标签: perl encoding html-entities