我可以在PHP文件中包含PHP吗?

时间:2014-01-30 01:43:50

标签: php html css xml sitemap

我正在尝试创建一个自动“sitemap.xml”,我已经按照Google提供的说明创建了一个,这就是我目前所拥有的:

<?xml version="1.0" encoding="UTF-8"?>

    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

        <url><loc>http://www.example.com/</loc></url> 

    </urlset>

现在,我想将“<url><loc>http://www.example.com/</loc></url>”替换为“<?php include ("assets/includes/menu.inc"); ?>”,其中包含以下内容:

<li><a href="index.php">Home</a></li>
<li class="subMenu"><a href="gallery.php">Gallery</a>
    <ul>
        <li><a href="404.php">404 Error Page</a></li>
        <li><a href="about.php">About</a></li>
    </ul>
</li>
<li><a href="contact.php">Contact</a></li>

但是,我刚刚意识到PHP包含不能用于XML文件,所以无论如何都要将php包含在那里?

我在想什么?我正在尝试自动生成/更新我的站点地图,所以我希望将我的菜单“主链接”包含在XML中,然后再使用CSS &amp;选择器之后“在每个<url><loc><a></a>之后添加标记</url></loc>,创建:<url><loc>http://www.example.com/</loc></url>这就是网站地图的基本构建。

关于如何使这项工作的任何想法?

2 个答案:

答案 0 :(得分:0)

我个人从未在创建站点地图时使用过include,但只要您使用有效的xml元素,我就不会将其视为问题。

你可以使用一些php类创建你的xml,只需定义你的内容类型,如: header ("Content-type: text/xml; charset=UTF-8"); 从那里你可以实例化你的xml类,如果你选择或手动完成

答案 1 :(得分:0)

您的问题的答案是:是的,您可以在PHP中嵌入PHP。 PHP专门设计为嵌入式:这就是为什么<?php...?>标签首先存在的原因。并且PHP不知道或关心你嵌入它的位置:

  • 该文件将发送给PHP解释器。
  • 主机文档中没有任何内容无意中看起来像PHP开始标记。

考虑到你想做什么,这样的回答基本上是无关紧要的。 Google站点地图是具有非常特定语法的XML文件。注入主菜单的HTML代码不会使其成为站点地图,就像在文本编辑器中打开MP3文件并在其中间键入你的名字一样,Freddy Mercury不会唱出它。