编辑:好吧,看来我找到了一个解决方案:
ob_start();
include $htmlfile;
$content = ob_get_clean();
显然file_get_contents没有进行评估。
我正试图让dompdf与一个包含PHP变量的外部HTML文件一起工作,但它不起作用。变量没有被解析,而是按照编写的方式输出,即如果我有这个HTML文件:
"发票.html":
<div>
Hello $firstname
</div>
我把它和dompdf结合起来,用它创建一个pdf,如下所示:
$invoicehtml = file_get_contents('invoice.html');
当创建PDF时,我得到了"原始"文本:
Hello $firstname
鉴于$firstname已经在config.php中定义(包括在内),例如:$firstname="John";
当我在创建dompdf的脚本中直接使用发票html代码时,即:
$invoicehtml = 'Hello'.$firstname;
然后它就可以正常工作了。
但是,当我使用外部HTML文件时,为什么它不起作用呢?
我已经尝试过str_replace,例如在HTML文件中有这个:
<div>
Hello {firstname}
</div>
然后用"$"替换"{",用"替换"}"——但我基本上得到了相同的结果。PDF的末尾写着"你好$firstname"。
我已经在这里和谷歌上搜索过了,发现了一个类似的问题,但没有解决任何问题。
好吧,我似乎找到了一个解决方案:
ob_start();
include $htmlfile;
$content = ob_get_clean();
显然file_get_contents没有进行评估。