我正在研究别人的代码,并且有大约800行标记与标签混合在一起。我正在尝试将一些模板应用于这些页面,我想我会首先捕获输出缓冲区中的所有输出,将其作为变量返回,然后逐个排序。
问题是,当我以字符串形式返回输出时,在缓冲区的末尾,它被截断为1024个字符。为什么会这样?
答案 0 :(得分:0)
通常,它不会那样做,这可能意味着:
ob_start($callback)
有一个特定的回调活动搞砸了(ob_get_level
说什么?)。ob_get_clean()
这3个是关于它的,没有代码,没有什么可说的。
答案 1 :(得分:0)
这1024个字节可能不是输出的开头。某些内容可能已经通过了输出缓冲区。出于测试目的,请尝试:
ob_start(NULL, 1<<20); // 1MB buffer
echo ...;
$all = ob_get_contents();
ob_end_clean();
同时使用ob_get_flush()
进行测试。如果所有其他方法都失败了,请使用自定义ob_处理程序。