0

我的 CMS 中有薮块。一些块包含 PHP 代码和一些 HTML 代码。如果我在代码是 html 代码时使用 eval 显示代码,我会收到此错误:

解析错误:语法错误,/Applications/XAMPP/xamppfiles/htdocs/mob/main_content.php(17) 中出现意外的“<”:第 1 行的 eval() 代码

我需要在代码之前添加printor 。echo

如果代码需要,我可以构建一个现在可以使用的函数吗eval()echo()

4

2 回答 2

2

要回答您的实际问题,您应该使用require()而不是试图弄清楚您是否应该eval()echo(). 但是,您永远不应该使用eval(). 几乎为零的情况eval()是做某事的唯一方法。您应该使用允许您将 PHP 代码块插入到位并使用它的模板引擎。

我个人更喜欢PHPTAL,但还有很多其他的,比如SmartyTwig等等(这些是我通过快速谷歌搜索找到的前几个)。

于 2012-12-24T08:37:19.967 回答
2

没有自动的方法可以知道是否需要 eval()某些东西。仅仅因为它看起来像 PHP 代码并不意味着它打算被评估。

如果您需要继续使用这种方法,我建议两种可能性:

  1. 使用数据库中的不同列来存储文字文本和动态 PHP;当数据来自您将使用的 PHP 列时eval()

  2. 要求管理员在其输入中标记动态 PHP,例如[php]...[/php]. 删除标记,然后调用eval().

于 2012-12-24T08:58:58.693 回答