我正在尝试在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()
函数,但它失败了,因为它是受保护的方法。
答案 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字符串。