我有一个基本的cms存储在mysql数据库的表中的页面 - 是否有可能在页面中包含PHP,然后让PHP处理它,而不是像原样输出它?在一个数据库中处理PHP
1
A
回答
1
我认为你必须使用eval()来做这样的事情。所以是的,可能但不推荐。
2
您可以使用eval
(http://php.net/manual/en/function.eval.php)
但请记住,eval is evil
+0
感谢Ewan,我的不好 – 2009-12-13 19:21:10
1
由于这两个建议都表示,使用eval()不建议和带来了严重的安全问题。
最好的办法是创建一个基本的模板系统。您可以在前端有一组预先确定的PHP代码块,这些代码块由后端的某些关键值触发,即{show_categories}
可能是一个标签,在解析时会被所有类别替换。
要实现这样的功能,您必须搜索特定的模板键值。如果找到任何此类键值,请使用该键值运行相关的代码,并用代码替换该键。
查找和替换模板关键的一个非常简单的例子:
// check if the show_categories key is found
if (strpos($body, '{show_categories}') !== false) {
// generate the show categories output from a PHP function
$categories = getCategoriesOutput();
// replace key with content
str_replace('{show_categories}', $categories, $body);
}
+0
+1:Smarty或Phable将是一个选项 – 2009-12-13 19:20:01
相关问题
- 1. 在PHP中处理数据库错误
- 2. PHP笨 - 处理多个数据库在同一台服务器
- 3. PHP中的数据库错误处理
- 4. PHP - 在一个数据库
- 5. PHP:如何处理来自数据库的这个数据
- 6. 处理在数据库中同一时间多个条目使用PHP
- 7. cscope中的多个数据库处理
- 8. 从数据库处理内容为php
- 9. PHP数据库会话处理
- 10. PHP数据处理
- 11. 处理CakePHP中存储在数据库中的PHP代码
- 12. 在Android中处理数据库
- 13. 在Postgresql数据库中处理NaN
- 14. 在Android中处理大型数据库
- 15. 在循环中用php处理数据
- 16. 在PHP中处理excell xml数据
- 17. 在PHP中处理cXML POST数据
- 18. 如何在Android中清理地处理多个数据库表?
- 19. 在PHP中处理和通知数据库连接失败
- 20. 用Eve处理多个MongoDB数据库
- 21. 从一个大文件中分块处理多处理数据?
- 22. 在数据库中插入一个整数数据(PHP)
- 23. 如何处理来自数据库中2个表的数据?
- 24. Firebase数据库批处理
- 25. 数据库处理IOS Swift2.0
- 26. 大型数据库处理
- 27. 处理数据库错误
- 28. 处理数据库异常
- 29. 电子数据库处理
- 30. PHP OOP如何处理数据库查询返回的数据
我能问这个安全问题会是什么? (我是唯一一个可以将内容添加到数据库的人,我通过phpmyadmin执行此操作) – 2009-12-13 19:07:23
我想你会遇到更多性能问题,而不是安全问题。 eval()非常昂贵,因为PHP必须为eval()的每个调用产生另一个解释器。 – 2009-12-13 19:08:52
嗯,谢谢你:) – 2009-12-13 19:10:08