我需要在使用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
答案 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>