2013-06-12 41 views
0

我刚刚发现,我非常惊讶地发现,我不能在用户定义的函数中使用ob_函数,并且多次调用这个函数,因为第二个输出永远不会出来在函数内部使用ob_ stuff并且多次调用它

这里是我的简单的文件

的index.php

function foo($data){ 
    ob_start(); 
    require_once("tpl.php"); 
    $html = ob_get_clean(); 
    return $html; 
} 

echo foo('Hello'); 
echo foo('World!'); 

tpl.php

<p>and now I say... <?php echo $data; ?><p> 

我期望这样的输出:

and now I say... Hello 
and now I say... World! 

相反,我只得到这样的:

and now I say... Hello 

我在哪里错了?有什么我失踪?我与PHP 5.3 ... 先谢谢您

回答

1

删除_once部分。替换:

require_once("tpl.php"); 

有:

replace("tpl.php"); 

或:

include("tpl.php"); 

否则,你只能使用模板文件一次。

+0

非常感谢! “_once”部分真的是“一次又一次”,我会记住! – Ivan