如何将字符串的输出作为PHP脚本运行?

时间:2012-08-29 09:57:51

标签: php

  

可能重复:
  Echo a String In PHP that contains <? ?> or <?php ?> and a PHP function

我在数据库中有一个包含值

的字段
&lt;p&gt;&lt;!--? echo get_block(\&#039;contact\&#039;);?--&gt;&amp;lt;?php echo get_block(&amp;#39;home-page&amp;#39;); ?&amp;gt;&lt;/p&gt;

当我在前端获取记录时,它只是将输出显示为字符串: -

示例:

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

输出

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

我希望它充当PHP脚本并在此之后做必要的事情。

3 个答案:

答案 0 :(得分:0)

您无法将其添加为PHP脚本。

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

从数据库中提取后,它已经处理完毕。其次,你不能回应和期望PHP函数被执行。因为ECHO本身是一个php(系统)的东西

您可能希望重新制定策略。

编辑:不要使用eval。特别是当数据从数据库中传出时,除非您对数据清理有所了解。

答案 1 :(得分:0)

像这样$filename = 'script.php'

创建.php文件
$openedFile = fopen($fileName, 'w') or die("can't open file");      
        fwrite($openedFile, $var);      
        fclose($openedFile);

在那里写下你的$var,然后加入它...它可以工作:)但仍然不安全

答案 2 :(得分:0)

你应该尝试eval()函数,它接受一个字符串并反映它的PHP。

唯一需要提及的是,您应该删除<?php ?>代码。

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