检查输入的PHP代码是否返回值

时间:2018-12-16 06:36:03

标签: php eval

我试图确保输入到textarea中的某些PHP代码有效并返回一个值。

这是我的代码:

try {
    if (!$return = eval($php_code)) {
        $error = 'The php code field must return a value.';
    }
}
catch (Throwable $e) {
    $error = $e->getMessage();
}

if (isset($error)) {
    die($error);
}

这似乎不起作用。它捕获了大多数错误,但是如果我输入类似echo 'test';的内容,则不会产生错误。

2 个答案:

答案 0 :(得分:0)

我不知道整个代码,但是尝试检查eval()。我通常以下一个代码为例:

$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with $nombre inside.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";

答案 1 :(得分:-1)

根据eval function documentation,您应该输入以下内容

'echo "test";'

不是

echo 'test';