使用PHP注入html页面的head部分

时间:2012-03-05 16:41:38

标签: php html

无论何时我在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的服务器运行它,这可能与它有关。

4 个答案:

答案 0 :(得分:3)

这种情况正在发生,因为您只能在<head>中使用特定标记。

<head>中不能包含文本节点(例如“moo”)。 PHP输出正确,但浏览器正在尝试纠正格式错误的HTML。

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

  

可在<head>元素中使用的元素:<title><base><link><style><meta>,{{1 },<script><noscript>

答案 1 :(得分:0)

除非您正在处理DOM或其​​他结构化数据(自从您使用echo后就没有),所以就PHP而言,您只是输出文本。

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

此:

  

无论PHP代码位于何处,它都会将生成的代码放入html页面的body标签

......不可能是这样。您还没有在代码中找到您关心的重点。

(因为我们看不到代码,所以我们无法找到它。)

答案 2 :(得分:0)

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


    以下元素可以放在<head>元素中:

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

那么你想要实现什么目标?
http://www.w3schools.com/tags/tag_head.asp

答案 3 :(得分:0)

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