以php形式处理数据库中的内容


Process content from database as php

我不太确定我需要在谷歌上搜索什么,我已经为此挣扎了一段时间。

例如,我为一个项目编写了自己的CMS,并且一直在处理存储在数据库中的内容。

This is a link to a <a href="<?php get_url_by_id(487174) ?>">related page</a>.

在上面的例子中,我通过它的ID来获取页面url,这样,url是否更改并不重要,它总是最新的。

问题是PHP把它看作一个字符串,不会处理它

我通过将内容写入文件,在文件中使用PHP include,然后删除文件来解决这个问题。我认为这不是一个有效的解决方案,我想要一个更好的解决方案。

PHP将该内容作为字符串读取,因为字符串。

要使字符串作为PHP运行,您需要使用PHP的eval()函数。

// The string that is loaded from the DB, or wherever
$string = 'This is a link to a <a href="<?php get_url_by_id(487174) ?>">related page</a>.'
// Run the string as PHP code (notice the "echo" command)
eval("echo {$string}");

然而,这可能非常危险如果要执行此操作,请确保您知道正在执行的字符串!因为eval()函数将运行其中的任何PHP代码!甚至破坏网站的狗踢PHP代码!

关于eval()函数的更多信息,可以在eval()的PHP文档中找到

--

我不知道你的确切情况,但我通常建议尽可能不要使用eval()。通常有一种比使用eval()函数更安全的方法。