Parse error: syntax error, unexpected '&' in ... : eval()'d code on line 1

Parse error: syntax error, unexpected '&' in ... : eval()'d code on line 1

首先,感谢您阅读我的第一个 Whosebug 问题!!!

我有以下代码:

eval('return ('.$statement.');')

我正在创建一个用于学习目的的模板引擎,因此,我需要该代码来对我的视图执行一些条件操作。

这段代码的objective是执行一条语句,return是逻辑结果。

假设$statement = '1 == 1';这个return为真,

但是,如果我输入 $statement = 'cookie()->has('name');',则会出现以下错误:

Parse error: syntax error, unexpected '&' in /var/www/html/exemplo.com/core/Instead/src/TemplateEngines/TemplateEngine.php(96) : eval()'d code on line 1

注意cookie功能已经存在,并且可以全局访问,并且return1个,只有1个。

有什么想法吗??解决方案?再次感谢。

很奇怪,但由于某种原因,$tatement = filter_var($statement, FILTER_SANITIZE_STRING) 导致了错误,将此函数替换为 strip_tags 后错误消失了。