用于处理PHP的file_get_content()的内容

时间:2014-06-20 02:13:05

标签: php file-get-contents

我需要在使用file_get_contents(子文件)调用模板的文件(子文件)上使用一些PHP标记。

我最初使用require(subFile)而不是file_get_contents()。但是,由于我的内容被置于错误的位置,因此无法正常工作。而且我也无法将模板文件更改为使用require()。

我的模板是这样的:

//TEMPLATE FILE.php
$html = file_get_contents(subFile); //I CAN NOT CHANGE  THIS FILE

然后我的子文件,我可以改变。

//SUB FILE.php
<div>Hello world, today is <?php echo date($mydate);?> </div>

因为它是用file_get_contents()调用的,所以它会输出

Hello world, today is <?php echo date($mydate);?>

而不是:

Hello world, today is Thursday.

因此,考虑到我无法更改使用file_get_content()的TEMPLATE FILE.php。 我在想是否有办法可以包装SUB FILE.php的内容,这样它就可以在允许TEMPLATE FILE.php调用之前处理PHP。

像我这样的事情

//SUB FILE.php
<force Process the PHP ?>
<div>Hello world, today is <?php echo date($mydate);?> </div>
<Finishe Force Process ?>
<allow it to be called via file_get_content();

如果我可以更改模板文件,我可以使用htmlspecialchars_decode();但我不能。

不幸的是,我无法找到办法,所以我最终得到了这个

ob_start();
$output = include (Dir/SubFile);
$output = ob_get_contents();
ob_end_clean();
$html = $output; 

//$html = file_get_contents(subFile); The way it was

2 个答案:

答案 0 :(得分:1)

以下是官方手册

的示例
$homepage = file_get_contents('http://www.example.com');
echo $homepage;

试试这个:

file_get_contents('http://YourDomain/Yoursubfile'); 

答案 1 :(得分:0)

您无法使用<?php echo $a; ?>来回显变量$ a的内容。 因为您将从子文件中获取普通的html内容。

你可以做的是: -

Step1:my_date.php

<?php
$today = date('M-d-Y');
$subfile_html = file_get_contents(subFile);  //Path to my_date1.html or my_date1.php
echo $new_html_content = str_replace('{TODAYS_DATE}', $today, $subfile_html); // It will replace the occurance {TODAYS_DATE} with today's date

// OUTPUT:
// Hello world, today is June 20 2014
?>

Step2:my_date1.html或my_date1.php

<div> Hello world, today is {TODAYS_DATE} </div>