在PHP文件中写<! - ?xml? - >

时间:2017-01-11 22:10:08

标签: php html xml xhtml

我有index.php个文件:

<?php
// Load resources shared across the website
include '../path/to/other_file.php';
?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  xml:lang="es" lang="es" prefix="og: http://ogp.me/ns#">
<head prefix="article: http://ogp.me/ns/article#">
    <title>Title</title>
</head>

<body>

<!-- Code -->

</body>
</html>

当我加载它时,它什么也没显示。我用this online tool来查看发生了什么。问题发生在第5行。

我可能正在使用<?来介绍XHTML文档,但我想PHP认为以下这个词是php<?php //CODE ?>)而不是xml<?xml version="1.0" encoding="UTF-8"?>

我该如何解决?我认为它被称为&#34;解析&#34;或者&#34; espacing&#34;人物。

3 个答案:

答案 0 :(得分:3)

您可以使用简单的回声解决此问题:

peprson.marks

答案 1 :(得分:2)

出现问题的原因是,当您正在执行<?时,PHP认为您正在尝试进入“PHP模式”,而实际上您正在尝试访问XML。对此的简单解决方案是禁用所谓的“PHP短标记”,其中PHP将<?识别为有效的开始标记。

你可以通过各种方法做到这一点,所有方法都有效地做同样的

  1. short_open_tag=Off
  2. 中添加php.ini
  3. 在指定文件的顶部添加ini_set('short_open_tag', '0');
  4. php_value short_open_tag 0
  5. 中的.htaccess
  6. 使用<?php echo "<?xml ... ?>";添加您的XML。

答案 2 :(得分:0)

尝试发送浏览器,php文件是带有以下行的xml文件:

header("Content-type: text/xml");

在启动php标记后立即执行此操作,因此脚本可以覆盖标题