提问人:ii iml0sto1 提问时间:4/18/2018 最后编辑:Cœurii iml0sto1 更新时间:5/4/2019 访问量:424
str_replace ob_get_contents缓冲区在网站上不起作用,但正在测试中?
str_replace with ob_get_contents buffer is not working on website but works under testing?
问:
我正在玩动态标题、描述和规范。
我在解释和弄清楚这里发生了什么时遇到了一些麻烦。
我正在将与下面完全相同的示例复制到我现有的实时网站中,但由于某种原因,在我的实时网站上,它没有像测试示例中那样替换字符串?
有什么东西会扰乱剧本的结果吗?
测试
<html lang="da">
<head>
<!-- Title -->
<title>%TITLE%</title>
<!-- META -->
<meta name="description" content="%DESCRIPTION%">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="canonical" href="%CANONICAL%"/>
<!-- GOOGLE+ -->
<meta itemprop="name" content="TITLE">
<meta itemprop="description" content="This is the page description">
<meta itemprop="image" content="http://www.example.com/image.jpg">
</head>
<body id="body">
<p>Hello</p>
<?php
$buffer = ob_get_contents();
ob_end_clean();
$canonical = "https://www.shittysite.com";
$placeholders = array("%CANONICAL%");
$substitues = array($canonical);
$buffer = str_replace($placeholders, $substitues, $buffer);
echo $buffer;
?>
</body>
</html>
答:
0赞
ii iml0sto1
4/19/2018
#1
既然没有人回答,我就自己做。
某些托管提供商/服务器显然没有默认启用输出缓冲。
我必须允许在我的 .htaccess 文件中进行输出缓冲,我设法使用以下代码做到了这一点。
php_value output_buffering On
php_value output_handler mb_output_handler
该代码适用于Apache服务器,我希望这对你们中的一些人有所帮助:)
下一个:在PHP中获取php文件的内容
评论
ob_start()
ob_start