如何将控制字符转换为HTML实体?

时间:2012-12-05 11:10:34

标签: xml perl character-encoding

我正在读取文本文件并将其内容放在xml输出文件的标记中。我面临的问题是输入文本文件包含一些控制字符,如<96><92>,导致我的脚本输出无效的xml。

如何将这些控制字符转换为相应的数字HTML实体,以便不会丢失数据并且生成的文件也有效?

我试过了:

perl -p -i -e 's/\x96/\&\#150\;/g; s/\x92/\&\#146\;/g;' out_xml

但我想将任何控制字符转换为HTML实体。

1 个答案:

答案 0 :(得分:2)

HTML::Entities做你想做的事:

$ perl -MHTML::Entities -le 'print encode_entities("\x96\x92")'
&#150;&#146;