我试图修改输出缓冲区的内容。 我有类似的东西:
if($this->page == 'login')
{
$output = ob_get_contents(); // $output is index.html
// have no idea how to modify `$output`
}
和我的index.html
:
<html>
<head></head>
</body>
if($usr ==null) include 'login.php';
else include main.php; //`main.php` with header bar and footer bar
// this's where i want to clean and insert my login form (login.php)
</body>
</html>
和login.php
:
<?php
<form>
.....
</form>
?>
我有$output
但是我想要清除所有内容并将login.php
的来源插入到正文中,这样每个人都可以看到我的登录表单(对于网站的样式有css
)。我在谷歌上搜索过,只知道如何获取内容,清理和刷新。但我不知道如何修改缓冲区内容。有没有办法修改它?
答案 0 :(得分:2)
我不确定代码的其余部分是如何工作的。但也许你可以使用标签代替。这样的事情。
index.html
<html>
<head></head>
</body>
{{body}}
</body>
</html>
<?php
//Logic file
if($this->page == 'login')
{
$output = ob_get_contents(); // $output is index.html
ob_clean();
ob_start();
include 'login.php';
$login_content = ob_get_contents(); // $output is index.html
ob_clean();
$content = str_replace('{{body}}', $login_content, $output);
echo $content;
}