在刷新之前更改php输出缓冲区

时间:2017-01-07 17:01:58

标签: php

无论如何都要在刷新之前更改输出缓冲区吗? 我试过这个函数ob_set_contents但似乎没有这样的函数, 我在header.php文件中有以下内容:

ob_start(null,0,PHP_OUTPUT_HANDLER_CLEANABLE);

我需要在footer.php文件的末尾执行以下操作:

$output = ob_get_contents();
$output=str_ireplace("<-BlogXmlLink->","/en/rss.xml",$output);
ob_set_contents($output);
ob_end_flush();

1 个答案:

答案 0 :(得分:1)

查看有关function($output) { return str_ireplace("<-BlogXmlLink->","/en/rss.xml",$output); } 参数的手册。来自here

  

output_callback

     
    

可以指定可选的output_callback函数。此函数将字符串作为参数,并应返回一个字符串。在刷新(发送)或清除输出缓冲区(使用ob_flush(),ob_clean()或类似函数)或在请求结束时将输出缓冲区刷新到浏览器时,将调用该函数。当调用output_callback时,它将接收输出缓冲区的内容作为其参数,并且期望返回一个新的输出缓冲区,该缓冲区将被发送到浏览器。如果output_callback不是可调用函数,则此函数将返回FALSE。这是回调签名:

         
      

string handler(string $ buffer [,int $ phase])

    
  

因此,对于第二个参数,不是null,而是执行一个执行的函数:

Node
相关问题