每当我在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