【发布时间】:2014-03-26 11:24:55
【问题描述】:
我想知道如何实现这一点:我在数据库中有内容,我正在通过 php 检索。我想要做的是回显该内容,但不是纯文本,而是执行该字符串中的 php 代码,并且正确显示其中的 html 代码。所以就像我会包含一个页面一样
///File:test.php
<?php
//some php code to execute
?>
<div>
//some html
</div>
所以我想要实现的行为与我会做的事情相同
///php code
include test.php
但我不想包含它,而是想做类似的事情
///php code
echo $content; ////$content="string retrieved from database";
我知道eval(),但这仅在字符串仅包含 php 代码时才有效。
编辑 我要执行的代码不会被用户以任何方式修改。包含一个带有 php 代码和 hmtl 代码的页面和做我所要求的有什么区别?如果有人能启发我,我真的会非常感激。
提前致谢。
【问题讨论】:
-
不好的做法,不要这样,不要将代码存储在数据库中。 google
why not store php code in the database then execute it你会在这个问题上找到一百万件事情。 -
不要那样做。是什么让你想这样做?
-
同上 - 这听起来非常混乱和危险。
-
承认您担心安全问题 - 如果有人能回答这个问题,我仍然非常希望
-
有些解决方案确实比其他解决方案更糟糕,但这属于非常糟糕的类别,因此为什么没有人这样做。所以我再次问:是什么让你想这样做?