解析错误:语法错误,...中出现意外的“&”:第 1 行的 eval() 代码 [已关闭]

问题描述 投票:0回答:1

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

我有以下代码:

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

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

这段代码的目的是执行一条语句并返回逻辑结果。

假设

$statement = '1 == 1';
返回 true,

但是,如果我输入

$statement = 'cookie()->has('name');'
这会出现以下错误:

解析错误:语法错误,意外的“&” /var/www/html/exemplo.com/core/Instead/src/TemplateEngines/TemplateEngine.php(96) :第 1 行 eval() 代码

注意cookie函数已经存在并且全局可访问,返回1,仅1。

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

php eval template-engine
1个回答
0
投票

这很奇怪,但由于某种原因,

$statement = filter_var($statement, FILTER_SANITIZE_STRING)
导致了错误;将此函数替换为
strip_tags
后,错误消失了。

© www.soinside.com 2019 - 2024. All rights reserved.