Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从字符串运行PHP和HTML代码_Php_Html - Fatal编程技术网

从字符串运行PHP和HTML代码

从字符串运行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代码中的变量中存储了一个字符串,如下所示:

<?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);