我正在读取文本文件并将其内容放在xml输出文件的标记中。我面临的问题是输入文本文件包含一些控制字符,如<96>
或<92>
,导致我的脚本输出无效的xml。
如何将这些控制字符转换为相应的数字HTML实体,以便不会丢失数据并且生成的文件也有效?
我试过了:
perl -p -i -e 's/\x96/\&\#150\;/g; s/\x92/\&\#146\;/g;' out_xml
但我想将任何控制字符转换为HTML实体。
答案 0 :(得分:2)
HTML::Entities做你想做的事:
$ perl -MHTML::Entities -le 'print encode_entities("\x96\x92")'
–’