我有一个带回调函数的输出缓冲区.清理缓冲区时,会执行回调函数,但是,返回的字符串不会被更改.
我正在使用以下代码:
<?php
ob_start('callback');
print 'some text';
error_log(ob_get_clean());
function callback($content) {
error_log('callback');
return $content . ' altered';
}
Run Code Online (Sandbox Code Playgroud)
输出:
callback
some text
Run Code Online (Sandbox Code Playgroud)
我想要的是:
callback
some text altered
Run Code Online (Sandbox Code Playgroud)
我错过了什么?我在CLI中使用PHP 5.3.10.
编辑:正在执行回调.
从PHP手册:
在刷新(发送)或清除输出缓冲区(使用ob_flush(),ob_clean()或类似函数)或在请求结束时将输出缓冲区刷新到浏览器时,将调用该函数.