如何让PHP停止尝试解析我的XML?

时间:2011-10-13 18:25:33

标签: php xml

我正在开展一个学校项目,我们必须将文学文本编码为XML,然后将它们发布到我们的网页上。我有一个主要使用HTML和CSS的网页,但偶尔会使用PHP包含,以便将所有页眉和页脚模块化并放在单独的文件中。这个设置的问题是,当我有一个php include来包含(即导入)我的XML文件时,我得到了这个解析错误:Parse error: parse error in /home1/j/jpr226/public_html/homestead.xml on line 1,其中第1行只是xml声明,类似于{{1} }。

如果我将XML文件复制并粘贴到HTML文件中,它似乎大致按预期工作,但是当我使用php来包含此文件时,我收到此错误。

我猜测PHP正试图以某种方式解析这个XML文件,当它无法做到这一点时,就会产生这个错误。有没有办法告诉PHP裁员,并停止尝试解释我的XML文件?

这是http://i5.nyu.edu/~jpr226/texts.php

3 个答案:

答案 0 :(得分:2)

  1. 不要include()任何不是php的东西。请改为使用file_get_contents()读取文件。
  2. 禁用short_open_tag ini指令。当short_open_tag开启时,<?相当于<?php

答案 1 :(得分:0)

您是否尝试过对HTML进行HTML编码?

$myXMLCode = htmlspecialchars($myXMLCode);
echo $myXMLCode;

编辑:听起来PHP预处理器正在读取<?作为起始PHP标记。您是否禁用了短标签?

ini_set("short_open_tag", 0);

答案 2 :(得分:0)

在PHP.ini中关闭短打开标记。

http://php.net/manual/en/ini.core.php