2013-06-12 74 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