我的CMS中有serval块。一些块包含PHP代码和一些HTML代码。如果我使用eval显示代码,而代码是一个HTML代码我得到这个错误:
解析错误:语法错误,意外'<'在 /Applications/XAMPP/xamppfiles/htdocs/mob/main_content.php(17): 第1行的eval()代码
我需要在代码之前添加print
或echo
。
如果代码需要eval()
或echo()
答案 0 :(得分:2)
要回答您的实际问题,您应该使用require()
而不是试图确定您应该eval()
还是echo()
。但是,您永远不应该使用eval()
。几乎为零的情况eval()
是唯一的做法。您应该使用一个模板引擎,它允许您将PHP代码块插入到位并使用它。
我个人更喜欢PHPTAL,但还有很多其他广告,例如Smarty,Twig和其他许多广告(这些是我通过快速谷歌搜索找到的前几个)。< / p>
答案 1 :(得分:2)
无法自动了解需要 eval()
的内容。仅仅因为它看起来像PHP代码并不意味着它意图被评估。
如果您需要采用这种方法,我建议两种可能性:
在数据库中使用不同的列来存储文本文本和动态PHP;当数据来自PHP列时,您将使用eval()
。
要求管理员在其输入中标记动态PHP,例如[php]...[/php]
。删除标记,然后调用eval()
。