Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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代码被注释掉了_Php_Html - Fatal编程技术网

PHP代码被注释掉了

PHP代码被注释掉了,php,html,Php,Html,我在下面的脚本中遇到了以下问题 PHP代码: $var = file_get_contents('template/default/index.php'); $content1 = str_replace('{php}','<?php',$var); $content2 = str_replace('{/php}','?>',$content1); echo $content2; $var=file\u get\u contents('template/default/index

我在下面的脚本中遇到了以下问题

PHP代码:

$var = file_get_contents('template/default/index.php');
$content1 = str_replace('{php}','<?php',$var);
$content2 = str_replace('{/php}','?>',$content1);
echo $content2; 
$var=file\u get\u contents('template/default/index.php');
$content1=str_replace('{php}','$content1);
echo$content2;
template/default/index.php代码:

<!DOCTYPE html>
<html>
    <body>
        <h1>My First Heading</h1>
        <p>My first paragraph.</p>
      {php} echo 'worked'; {/php}
    </body>
</html>

我的第一个标题
我的第一段

{php}echo“已工作”;{/php}
我试图将template/default/index.php中的{php}{/php}标记转换为propper-php标记。这确实发生了,但是php代码被注释掉了。浏览器会提供以下信息作为回报:

<h1>My First Heading</h1>
<p>My first paragraph.</p>
<!--?php echo 'worked'; ?-->
我的第一个标题
我的第一段


有人知道如何解决这个问题吗?

与其重复替换的内容,不如使用
eval
'd。虽然我不建议这样做。

而不是重复替换的内容,它应该是
eval
'd。尽管我不建议这样做。

我认为没有理由这样做


只需在index.php文件中使用
,而不是
{php}
{/php}
,然后将该文件包含在脚本中。

我认为没有理由这样做


只需在index.php文件中使用
,而不是
{php}
{/php}
,然后将该文件包含在脚本中即可。

是否使用wordpress?任何框架?检查模板/default/index.php内容;注释必须在那里。像这样回显PHP不会执行它,它只会将PHP代码发送到浏览器,浏览器只会显示它。我猜,当您回显PHP代码时,Apache或PHP引擎正在对其进行注释。您需要包含文件或使用eval函数。Echo'ing将按原样打印,您需要像happy code injections day=)一样评估其声音。您正在使用wordpress吗?任何框架?检查模板/default/index.php内容;注释必须在那里。像这样回显PHP不会执行它,它只会将PHP代码发送到浏览器,浏览器只会显示它。我猜,当您回显PHP代码时,Apache或PHP引擎正在对其进行注释。你需要包含该文件或使用eval函数。Echo'ing将按原样打印,你需要像happy code injections day=)一样评估它的声音。我认为他试图像一个模板文件一样评估它,就像Smarty模板引擎所做的一样。我不喜欢它@基拉尼认为他试图像一个模板文件一样对其进行评估,就像Smarty模板引擎所做的一样,我不喜欢它@基兰那我该怎么做?可以我不能用eval来解决这个问题。谢谢你的帮助!或者通过php输出缓冲区使用include和capture:
ob_start();包括($文件)$contents=ob_end_clean()我该怎么做?可以我不能用eval来解决这个问题。谢谢你的帮助!或者通过php输出缓冲区使用include和capture:
ob_start();包括($文件)$contents=ob_end_clean()