我之前已经发过这个问题,但人们总是提出不必要的问题。我将以一种简单的方式解释它。
我有 3 个文件:
所以,我想用 Z 的脚本将 Y 加入 X 。
在 Z 中,我制作了str_replace($text, $new, file_get_contents($file));
唯一的问题是我需要在 X 中包含PHP打开和关闭TAGS,因为其中没有php标记。
所以,$new = "<?php include('Y.php'); ?>";
。
如果你尝试,不会在字符串中考虑关闭标记,但这就是我想要的。
希望这个问题现在明确。我不能比那更清楚。 :d
谢谢你的建议。
答案 0 :(得分:0)
要包含您执行的文件
<?php
include(file);
?>
所以在这种情况下
X包含<?php include('Y'); ?>
,Y包含<?php include('Z') ?>
但如果你正在做我认为你正在做的事情(某种模板)你会更好地通过查看溢出缓冲区(例如ob_start和ob_end_flush)
那些可以将所有回显的信息放入一个稍后要修改的变量中,也就是运行php里面,而不是像你的例子中那样用file_get_contents()
读取文本答案 1 :(得分:0)
这个问题非常模糊不清,但我有一个猜测:
文件X是您要替换特殊标记的HTML 文件Y从DB中加载应替换标记的值 文件Z进行替换。
这可以解决(文件Z):
<?php
ob_start();
include("Y.php");
$repl = ob_get_contents();
ob_end_clean();
ob_start();
include("X.php");
$src = ob_get_contents();
ob_end_clean();
echo str_replace("THEREPLACEMENTMARKER", $repl, $src);
?>