无论何时我在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的服务器运行它,这可能与它有关。
答案 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
文件中内容的密钥。