我不太确定我需要在谷歌上搜索什么,我已经为此挣扎了一段时间。
例如,我为一个项目编写了自己的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()
函数更安全的方法。