php字符串转成可执行代码
php里是有eval函数的,可是似乎只能处理一些简单的php代码字符串。如果复杂一点比如包含一些html代码,就不行了。我想要的是,比如有一个字符串变量是$str=“<?...
php里是有eval函数的,可是似乎只能处理一些简单的php代码字符串。如果复杂一点比如包含一些html代码,就不行了。
我想要的是,比如有一个字符串变量是
$str = “ <?php echo 'hello world'; ?> <br /> <span>Over!<span> ”;
有没有什么方法可以把这个字符串像文件包含一样include到当前文件的前面呢?
我想到的方法是把这个串写到一个文件里,再include进来。请问是不是还有别的方法?
另外,像把字符串转化成可执行代码这样的过程有没有专业一点的叫法?
例子
<?php
$str = "<?php echo 'hello world'; ?> <br /> <span>Over!<span>";
echo eval($str); //结果是一个关于eval函数的报错
echo echo htmlentities($str); //结果与echo $str;是一样的
?> 展开
我想要的是,比如有一个字符串变量是
$str = “ <?php echo 'hello world'; ?> <br /> <span>Over!<span> ”;
有没有什么方法可以把这个字符串像文件包含一样include到当前文件的前面呢?
我想到的方法是把这个串写到一个文件里,再include进来。请问是不是还有别的方法?
另外,像把字符串转化成可执行代码这样的过程有没有专业一点的叫法?
例子
<?php
$str = "<?php echo 'hello world'; ?> <br /> <span>Over!<span>";
echo eval($str); //结果是一个关于eval函数的报错
echo echo htmlentities($str); //结果与echo $str;是一样的
?> 展开
展开全部
eval 是在你当前程序代码处嵌入PHP代码,所以你需要将当前程序代码结束掉才可以。
简单的方法是加上 ?> 结束符。
<?php
$str = "<?php echo 'hello world'; ?> <br /> <span>Over!<span>";
echo eval( '?>' . $str ); // 爽快的输出,不用中间文件 include
?>
理解起来很容易,你可以把这段代码看成下面这段代码:
<?php
?><?php echo 'hello world'; ?> <br /> <span>Over!<span>
<?php
?>
简单的方法是加上 ?> 结束符。
<?php
$str = "<?php echo 'hello world'; ?> <br /> <span>Over!<span>";
echo eval( '?>' . $str ); // 爽快的输出,不用中间文件 include
?>
理解起来很容易,你可以把这段代码看成下面这段代码:
<?php
?><?php echo 'hello world'; ?> <br /> <span>Over!<span>
<?php
?>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
eval($str);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询