小编Bar*_*art的帖子

PHP:输出缓冲区回调不改变输出

我有一个带回调函数的输出缓冲区.清理缓冲区时,会执行回调函数,但是,返回的字符串不会被更改.

我正在使用以下代码:

<?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()或类似函数)或在请求结束时将输出缓冲区刷新到浏览器时,将调用该函数.

php output-buffering

2
推荐指数
1
解决办法
2439
查看次数

标签 统计

output-buffering ×1

php ×1