2

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

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

我试过了:

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

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

4

1 回答 1

2

HTML::Entities做你想做的事:

$ perl -MHTML::Entities -le 'print encode_entities("\x96\x92")'
&#150;&#146;
于 2012-12-05T13:16:13.547 回答