如何知道代码是否需要eval()

时间:2012-12-24 08:26:43

标签: php mysql

我的CMS中有serval块。一些块包含PHP代码和一些HTML代码。如果我使用eval显示代码,而代码是一个HTML代码我得到这个错误:

  

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

我需要在代码之前添加printecho

如果代码需要eval()echo()

,我现在可以构建一个函数吗?

2 个答案:

答案 0 :(得分:2)

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

我个人更喜欢PHPTAL,但还有很多其他广告,例如SmartyTwig和其他许多广告(这些是我通过快速谷歌搜索找到的前几个)。< / p>

答案 1 :(得分:2)

无法自动了解需要 eval()的内容。仅仅因为它看起来像PHP代码并不意味着它意图被评估。

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

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

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