エンティティ名がで、(ヘキサ)10進数ではないのアポストロフィをエンコードするだけの簡単なことをしたい。しかし、HTML :: Entitiesではこれができないようです。HTML ::エンティティとアポストロフィを符号化する
use warnings;
use strict;
use HTML::Entities qw(encode_entities);
my $char = "'";
print encode_entities($char);
# '
しかし、エンティティから文字に行くエクスポートハッシュで、アポストロフィはapos
として存在しています。
print $HTML::Entities::entity2char{'apos'}
# '
なぜHTMLエンティティ名は使用できないのですか?それとも強制的に強制されるべきか?
を含め、すべての標準的なHTML5のエンティティを提供し、すべてのエンティティが名前を持っているわけではありません。 https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTMLにはリストがあります。 – simbabque
なぜ「'」の代わりに「'」が必要ですか? – Borodin
@Borodin私たちは、ファイル名の中でいくつかの特殊文字を識別子として使用しています。それらを意味的に透明な名前で分類するといいでしょう。つまり、 'apos'は' ' 'よりはるかに明確です。 –