我有一个PHP函数,可以通过echo打印HTML,也可以在标签外打印(参见下面的示例)。我想做的(为了MVC目的)是能够拦截两种方法生成的输出流,以便我可以将它传递给显示格式化函数。
我尝试过使用ob_start()等,但这只会拦截回声数据。
示例:
<?php
function doLogicStuff()
{
echo "This is some text."; //You can intercept this using ob_start()
?>
<b>This is some more HTML stuff</b> <!-- This will not be intercepted by ob_start() -->
<?php
}
?>
我希望能够拦截该函数输出的完整“最终结果”,以便我可以将它传递给一个以统一方式显示它的任务。
有没有办法做到这一点,或者最简单的方法是将一切写入一个字符串变量并返回它(这当然可以解决这个问题,但是对于大块的HTML来说,这是非常烦人的)。
谢谢!