使用PHP注入到html页面的头部


Inject into head section of html page using PHP

每当我在PHP中echo某个东西出现时,无论PHP代码位于何处,它都会将生成的代码放入html页面的body标记中。

如何将PHP创建的html注入html的head标记中

例如使标题是动态的或者在头部内编写脚本是动态的。

示例代码:

<html>
  <head>
    <?php echo "moo"; ?>
  </head>
  <body>
  </body>
</html>

退货:

<html>
  <head>
  </head>
  <body>
    moo
  </body>
</html>

编辑:

我在运行Nagios的服务器上运行它,这可能与它有关。

之所以会发生这种情况,是因为您的<head>中只能有特定的标记。

<head>中不能有文本节点(如"moo")。PHP输出正确,但浏览器正在尝试更正格式错误的HTML。

更多信息:https://developer.mozilla.org/en/HTML/Element/head

可在<head>元素内部使用的元素:<title><base><link><style><meta><script><noscript><command>

除非您正在处理DOM或其他结构化数据(因为您使用的是echo,所以您不是这样),否则就PHP而言,您只是在输出文本。

您需要将echo语句放在导致程序输出<head>的代码之后和输出</head>之前的某个位置。

此:

无论PHP代码位于何处,它都会将生成的代码放入html页面的主体标记中

……不可能。您只是没有在代码中找到您关心的要点。

(由于我们看不到代码,因此找不到它)。

您当然可以在PHP中完成,当然,您使用的是一些framework/CMS,它在其body标记中输出所有内容。因此,在这种情况下,您需要检查framework/CMS的模板部分,其中包含修改head tag文件中内容的密钥。

<head>
<?php echo $htmlCreatedByPHP;?>
</head>


以下元素可以进入<head>元素内部:

<title>
<style>
<base>
<link>
<meta>
<script>
<noscript>

那么你想实现什么呢
http://www.w3schools.com/tags/tag_head.asp