替代输出缓冲以将eval'd代码放入变量中

时间:2013-08-14 08:47:37

标签: php

我需要评估变量中的一些php,并将输出放到另一个变量中。

我有以下代码

                ob_start();
                $php = "echo 'cat';";
                eval($php);
                $result = ob_get_contents();
                ob_end_clean();
                echo $result;

没有输出缓冲有没有办法做到这一点?可能有create_function?

2 个答案:

答案 0 :(得分:2)

首先,强制性的“评估是危险的”在文档(php.net/manual/en/function.eval.php)中直接提及。


其次,为什么不将$result放入你的评估中?

$php = "$result = 'cat';

然后你将结果变量全部设置好。

答案 1 :(得分:1)

$output = '';
eval('$output="cat";');
echo $output;