2013-02-28 27 views
1

如何在PHP中转换/解码文件内容(XML)的html实体。在PHP中解码文件的htmlentities

我试着在命令行中运行以下命令:

perl -MHTML::Entities -ne 'print decode_entities($_)' /apps/www/mydir/xmlfiles/p34580600.xml >> /apps/www/mydir/xmlfiles/p34580600_1.xml 

它工作正常,在命令行中运行,但是当我尝试PHP中调用它:

system("perl -MHTML::Entities -ne 'print decode_entities($_)' /apps/www/mydir/xmlfiles/p34580600.xml >> /apps/www/mydir/xmlfiles/p34580600_6.xml"); 

它创建的文件但它是空的。我试图使用html_entity_decode,但是XML文件太大了。至少20megs。

任何帮助或建议,非常感谢。

谢谢,

+0

尝试在系统调用中转义'$'。由于您使用双引号字符串命令,因此php可能正在寻找变量'$ _'。 – 2013-02-28 21:41:58

+0

不能相信我错过了。非常感谢乔纳森 – 2013-02-28 21:44:12

+0

张贴作为答案,所以如果它帮助/工作,你可以接受。 – 2013-02-28 21:46:10

回答

1

尝试在系统调用中转义$。可能php正在寻找变量$ _,因为您正在使用双引号字符串命令。

+0

这工作。用\逃脱$。非常感谢乔恩! – 2013-02-28 21:48:07