从字符串运行PHP和HTML代码
我在php代码中的变量中存储了一个字符串,如下所示:从字符串运行PHP和HTML代码,php,html,Php,Html,我在php代码中的变量中存储了一个字符串,如下所示: <?php $string = " <?php $var = 'John'; ?> <p>My name is <?php echo $var; ?></p> "; ?> 如果我是对的,你有$var='John';存放在不同的地方 像这样: <?php $var = 'John'; ?> 然后在另一个地方创建一个名为$String的变量? 我想你是这个意
<?php
$string = "
<?php $var = 'John'; ?>
<p>My name is <?php echo $var; ?></p>
";
?>
如果我是对的,你有$var='John';存放在不同的地方 像这样:
<?php $var = 'John'; ?>
然后在另一个地方创建一个名为$String的变量?
我想你是这个意思,所以我建议使用以下方法:
<?php
$String = "<p>My name is ".$var." </p>";
echo $String;
?>
您应该在$string变量之外定义$var,如下所示
<?php
$var="John";
$string = "<p>My name is $var</p>";
?>
或者你可以使用。连接字符串的步骤
<?php
$var="John";
$string = "<p>My name is ".$var."</p>";
?>
这两个代码将返回相同的字符串,因此现在执行
<?php
echo $string;
?>
你会得到我的名字是约翰,你不想这样做。如果你仍然坚持,你应该检查aka
evil
函数。首先要知道的是,您不能通过opening您可以使用函数和herdoc吗?您可能应该只使用包含的文件—您不想这样做。这通常会打开巨大的安全漏洞。关于安全性,你是对的。我的客户疯狂地坚持一个只有这样才能完成的功能。他知道只要一切顺利,他就要对一切负责。谢谢,我试试这个。
<?php
$string = '
<?php $var = "John"; ?>
<p>My name is <?php echo $var; ?></p>
';
// Replace first opening <?php in string
$string = preg_replace('/<\?php/', '', $string, 1);
eval($string);