2013-02-20 119 views
-2

我以前已经发布过这个问题,但人们总是问不必要的问题。我会以一种简单的方式解释它。如何通过php脚本在html文件中包含一个php文件

我有文件:

  1. 一个PHP文件(只包含HTML,这就是很重要):我们把它叫做X文件的例子。
  2. 一个php文件,其中有一些数据库查询,插入屏幕上的数据库中的数据:Y文件
  3. 一个PHP文件(一个脚本,做一些操作):Z文件

所以,我想包括Y纳入X与脚本Z

ž,我做一个str_replace($text, $new, file_get_contents($file));

的唯一的事情是,我需要在X PHP打开和关闭标签,因为它没有PHP的标签。因此,$new = "<?php include('Y.php'); ?>";。 如果你尝试,关闭标签不会被考虑在字符串中,但这就是我想要的。

希望这个问题已经明确。我不能再比这更清楚了。 :D

感谢您的建议。

+0

你能否约束阐述,要求有没有标签X? – CBusBus 2013-02-20 18:12:13

+2

您应该编辑原始问题以阐明它。不要继续添加重复的问题 – Gareth 2013-02-20 18:12:20

+0

如果我改变它,所有已经在其中的评论将是无用的,所以我关闭它 – 2013-02-20 18:13:48

回答

0

要包括你在这种情况下做

<?php 
include(file); 
?> 

所以文件

X包含<?php include('Y'); ?>和Y包含<?php include('Z') ?>

但是,如果你在做什么,我认为你正在做的(模板)通过查看溢出缓冲区(例如,ob_start和ob_end_flush),您将会更好:

Th ose可以将所有回显信息放入稍后修改的变量中,也可以运行php里面的内容,而不是像文件中那样只读取file_get_contents()

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); 
?> 
相关问题