我是否允许在我的php文件中有两个或更多ob_start();
,如果是这样,结束一个ob_start();
并启动另一个{0}的正确方法是什么?
答案 0 :(得分:6)
从手册:
输出缓冲区是可堆叠的,即 你可以在另一个时调用ob_start() ob_start()处于活动状态。请确保 你调用ob_end_flush()了 适当的次数。如果 多输出回调函数 活动,输出正在过滤 顺序通过它们中的每一个 嵌套顺序。
除了堆叠(嵌套)之外,您还可以按顺序使用单独的块。
<?
ob_start();
echo "Foo";
ob_end_flush(); // outputs buffer contents and turns off output buffering
ob_start();
echo "Bar";
ob_end_flush();
?>
答案 1 :(得分:0)
您可以在页面上执行多个ob_start()。你用ob_end_clean()结束ob_start()。
ob_start();
$postOutput = preg_replace('/<img[^>]+./','', ob_get_contents());
ob_end_clean();
echo $postOutput;