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



我试图在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这种方式?

p。我已经尝试使用render()功能,但它失败了,因为它是一个受保护的方法。

原因很简单,因为DOMPDF只解释HTML(包括CSS),不解释PHP。浏览器也不解释PHP。web服务器解释PHP(或者在本例中包含PHP引用的动态HTML),然后将生成的HTML发送给浏览器。类似地,dompdf在呈现时只处理HTML。当然,因为它是为PHP脚本编写的,所以可以使用PHP来操作传递给$dompdf->loadHTML()方法的HTML字符串。

您可以通过使用连接操作符包含$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标签不被求值

最新更新