回声&x27;在外部PHP文件中调用ob_start回调

回声&x27;在外部PHP文件中调用ob_start回调,php,html,.htaccess,ob-start,Php,Html,.htaccess,Ob Start,我正在使用PHP中的数据库信息进行静态填充HTML。HTML文件有一个模式({{$pattern}}),当位于HTML文件中时,该模式将替换为匹配的PHP变量。 例如HTML文件可以是: <div>{{$apples}}</div> 通过将以下内容添加到HTML目录中的.htaccess,将此纸条添加到每个HTML文件中: AddType application/x-httpd-php .html php_value auto_prepend_file "prepend


我正在使用
PHP
中的数据库信息进行静态填充
HTML
HTML
文件有一个模式({{$pattern}}),当位于
HTML
文件中时,该模式将替换为匹配的
PHP
变量。 例如
HTML
文件可以是:

<div>{{$apples}}</div>
通过将以下内容添加到
HTML
目录中的
.htaccess
,将此纸条添加到每个
HTML
文件中:

AddType application/x-httpd-php .html
php_value auto_prepend_file "prepend.inc"
由于我的应用程序的体系结构,我需要一个
HTML
文件在
PHP


中回送,但这已被证明是一项比预期更大的任务,因为我试图将文件转换为
PHP
字符串并回送,导致上述
ob\u回调
无法执行。。。(尽管我知道
prepend.inc
正在运行)

我尝试了
fread
file\u-get\u-content
,甚至:

const CONSTANT = 'oranges';
ob_start();
require 'theHTMLfile.html';
$out = ob_get_contents();
ob_end_clean();
echo $out;
然而,这些似乎都没有到达prepend.inc中的ob_start回调,并且已经替换了模式…
一种解决方案是使用完整的URL(
require'http://www.example.com/theHTMLfile.html“;
),但我不能使用它,因为它会破坏对全局变量的引用,我需要全局变量来获取
HTML
等的数据。


任何建议都将不胜感激

上面回调中的
$data
是一个局部变量当然,实际上提供的代码是一种简化,以避免偏离要点。然而,我正在寻找一个解决方案,假设
$data
代表一个全局变量。那么你应该发布真实的代码,因为在你发布的
$data
中没有声明为全局变量,所以你试图在pcre回调函数中访问的全局变量是空的。这是除此之外的一点,我的问题是,如果存在这样一种解决方法,即当我使用相对路径而非绝对路径包含
HTML
文件时,
ob\u回调
从不触发?是的,相对路径可能无法解析。您是否尝试使用文件的实际绝对路径(而不是URL)?
const CONSTANT = 'oranges';
ob_start();
require 'theHTMLfile.html';
$out = ob_get_contents();
ob_end_clean();
echo $out;