1

I have a field in a database which contains the value :

<p><!--? echo get_block(\'contact\');?--><?php echo get_block('home-page'); ?></p>

When I am fetching the record in the front end, it just shows the output as a string:

echo $var = html_entity_decode(stripslashes($row_content_list["content"]));

Output

"<?php echo get_block('home-page');?>"

I want it to act as a PHP script.

4

3 回答 3

0

您不能将其添加为 PHP 脚本。

PHP = 服务器端语言,它处理您给定的命令并抛出 HTML 输出。(ofc 有时会出错)您无法重新处理已处理的输出。

一旦你从数据库中获取它就已经被处理了。其次,您无法回显并执行预期的 PHP 函数。因为 ECHO 本身就是一个 php(系统)的东西

你可能想重新制定你的方法。

编辑:不要使用评估。尤其是当事情从数据库中出来时,除非并且直到您对数据清理非常确定。

于 2012-08-29T10:01:40.163 回答
0

像这样创建 .php 文件$filename = 'script.php'

$openedFile = fopen($fileName, 'w') or die("can't open file");      
        fwrite($openedFile, $var);      
        fclose($openedFile);

写在那里$var然后包含它...它可以工作:)但仍然不安全

于 2012-08-29T11:23:03.067 回答
0

您应该尝试eval()函数,它接受一个字符串并从中反射 PHP。

唯一要提到的是,您应该删除<?php ?>标签。

$var= html_entity_decode(stripslashes($row_content_list["content"]));
eval($var);
于 2012-08-29T11:52:29.343 回答