如何通过PHP脚本将PHP文件包含在html文件中

时间:2013-02-20 18:06:57

标签: php html tags include

我之前已经发过这个问题,但人们总是提出不必要的问题。我将以一种简单的方式解释它。

我有 3 个文件:

  1. 一个php文件(仅包含html,这很重要):我们称之为X文件为例。
  2. 一个php文件,其中有一些数据库查询在屏幕上插入数据库数据:Y file
  3. 一个php文件(一个会进行一些操作的脚本):Z file
  4. 所以,我想用 Z 的脚本将 Y 加入 X

    Z 中,我制作了str_replace($text, $new, file_get_contents($file));

    唯一的问题是我需要在 X 中包含PHP打开和关闭TAGS,因为其中没有php标记。

    所以,$new = "<?php include('Y.php'); ?>";。 如果你尝试,不会在字符串中考虑关闭标记,但这就是我想要的。

    希望这个问题现在明确。我不能比那更清楚。 :d

    谢谢你的建议。

2 个答案:

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