如何在DOMPDF loadhtml()函数中输出PHP?

时间:2016-06-27 12:22:57

标签: php laravel laravel-5.2 dompdf

我正在尝试在DOMPDF loadhtml()函数中使用内联PHP。以下是我的示例代码:

$pdf->loadHTML('<html>

<head>
<title>My first PHP Page</title>
</head>
<body>
This is normal HTML code

<?php 
    echo $test;
?>

Back into normal HTML

</body>
</html>');

当我使用$pdf->stream()输出此pdf时,只打印“ 这是普通的HTML代码回到正常的HTML“。echo $test;不会产生任何输出。

我有一个包含一些字符串值的数组。我需要迭代它们中的每一个,就像在刀片预处理器中完成一样。

为什么我无法以这种方式使用内联PHP?

PS。我尝试使用render()函数,但它失败了,因为它是受保护的方法。

2 个答案:

答案 0 :(得分:0)

您可以使用连接运算符包含$test的值:

$pdf->loadHTML('<html>

<head>
<title>My first PHP Page</title>
</head>
<body>
This is normal HTML code

' . $test . '

Back into normal HTML

</body>
</html>');

不评估字符串中的PHP标记。

答案 1 :(得分:0)

简单的答案是因为 DOMPDF 只解释 HTML(包括 CSS)而不是 PHP。 浏览器也不解释 PHP。它是解释 PHP(或在这种情况下包含 PHP 引用的动态 HTML)的 Web 服务器,然后将结果 HTML 发送到浏览器。 同样 DOMPDFonly 在渲染时处理 HTML。 当然,因为它是为PHP脚本编写的,所以你可以使用PHP来操作传递给$dompdf->loadHTML()方法的HTML字符串。