2011-09-29 175 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