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