您好我在HTML页面的末尾包含了一个PHP文件。现在我想在标签HEAD结束之前添加一个样式文件。但我需要通过这个php文件来做到这一点,我别无选择。
我有index.php
个文件,在此文件的末尾我正在加载script.php
我需要使用script.php
文件夹结构:
index.php
文件包含以下代码:
<!DOCTYPE html>
<html>
something
</head>
<body>
something
</body>
</html>
<?php
include "script.php"
?>
当我在页面末尾有script.php文件时,如何将某些东西放在HTML / PHP的头部。
答案 0 :(得分:1)
没有直接的方法可以做到这一点。我可以为你的问题考虑2个令人讨厌的解决方法:
如果脚本激活了缓冲(在HEAD关闭之前将其称为ob_start),您可以将其作为字符串获取并使用ob_get_clean清除它,然后再插入代码并再次进行ECHO。可能看起来像这样:
<?php
$output = ob_get_clean();
$output = substr_replace($output, $your_code, strpos($output, '</head>'), 0);
echo $output;
?>
由于现代浏览器非常宽容,你实际上可以在结束html之后放置样式标签,它们仍然有效。我不会这样做,因为这是一个坏习惯
答案 1 :(得分:0)
在包含的PHP页面中创建IF逻辑,然后将其包含在HEAD和HTML的末尾。
在HTML中,在HEAD的包含之前设置变量,然后在HEAD的包含之后重置相同的变量。
关于IF逻辑,将其设置为TRUE只运行样式表,FALSE跳过样式表并运行PHP脚本的其余部分。
答案 2 :(得分:0)
你能做的是:
所以这段代码看起来像这样:
<?php ob_start();
//a lot of your code and html here
$codeToInject="yourcode";
$content=ob_get_contents();
$content=str_replace("</head>",$codeToInject."</head>");
ob_end_clean();
echo $content;
?>
但要注意......这不是要走的路。它可能会降低您的网页速度。它不是一种干净的编码方式,实际上是它的诡计。如果可能的话,你应该以不需要的方式协调重构你的代码。