2011-09-29 176 views
0

我有一個BBcode的動態生成頁面。 例如,我有一個名爲[PHP]file.php[/PHP] ..包含輸出緩衝區?

輸出使用ob_start("parser);緩衝。是否有可能在輸出緩衝區中用include("file.php");代替[PHP]file.php[/PHP]

<?php 
function parser($buffer){ 
    //This is where I want 'it to happen' 
} 

ob_start("parser"); 
?> 
<html> 
.......... 
<body> 
Some text<br /><br /> 
[PHP]file1.php[/PHP]<br /><br /> 
More text..<br /><br /> 
[PHP]file2.php[/PHP] 

<?php 
ob_end_flush(); 
?> 
+0

我希望你的用戶不提供此BBCode的。 –

+0

爲什麼不''代碼爲你工作?你不需要爲此編寫任何代碼,這是該語言的一個內置功能。 – hakre

回答

-1

當然可以;與呼叫替換它來include()將執行file.php和輸出添加到緩衝液中。確保在包含它之前對文件名進行一些檢查,以防止遠程腳本注入等!

+0

嗯..認爲我會更精確。比方說,我有這個頁面: 編輯:http://pastebin.com/iEC8naFM 如何更換這兩個[PHP]與包括哪些內容?我可以將文本替換爲<?php include($ file);?>或者? – Elias

+0

我認爲你可以,是的。你有沒有嘗試過? – Rijk

+0

這只是輸出純文本。這是我的解析器函數:http://pastebin.com/7fsmwPD4 – Elias