如何在 mPDF 的 $html 中传递 if 语句?
How to pass an if statement in the $html in mPDF?
如何在 $html
中传递 if
语句?我正在从表单的值构建 pdf,但我不确定如何使用 html 传递此 if
语句。
我正在使用 mPDF
版本 6 生成 pdf。
我研究了一段时间,但没有找到正确的方法。所以,我真的很感谢你的建议。提前致谢。
<?php
include('mPDF/mpdf.php');
$name = $_POST["name"];
$age = $_POST["age"];
$html = '<html>
{if (!empty($_POST['name'])) echo 'Name: ' . $name;}<br>
{if (!empty($_POST['age'])) echo 'Age: ' . $age;}
</html>';
$mpdf = new mPDF();
$mpdf->WriteHTML($html);
$mpdf->Output();
?>
这是表格,以备不时之需:
<form method="post" action="generatePDF.php">
Name: <input type="text" name="name" id="name" /><br>
Age: <input type="text" name="age" id="age" /><br>
</form>
我宁愿将其更改为以下内容,这样我就不必检查 HTML 中的条件。预先执行所有条件并准备好可在 HTML 中使用的变量,以生成 PDF:
<?php
include('mPDF/mpdf.php');
$name = !empty($_POST["name"]) ? 'Name: ' . $_POST['name'] : '';
$age = !empty($_POST["age"]) ? 'Age: ' . $_POST["age"] : '';
$html = '<html>' .
$name . '<br>' .
$age .
'</html>';
$mpdf = new mPDF();
$mpdf->WriteHTML($html);
$mpdf->Output();
?>
首先你需要使用双引号
$html=" code "; // because variable execute only in double quote
其次你需要在字符串
之外使用if statement
if (!empty($_POST['name'])){ $prnt_name='Name: ' . $name;}
if (!empty($_POST['age'])) { $prnt_age= 'Age: ' . $age;}
$html = "<html>
$prnt_name<br>
$prnt_age
</html>";
您不能在字符串文字中嵌入 PHP 代码。以常规方式构建您的 $html 字符串:
<?php
include('mPDF/mpdf.php');
$name = $_POST["name"];
$age = $_POST["age"];
$html = '<html>' . (!empty($name) ? 'Name: ' . $name : '') . '<br>'
. (!empty($age) ? 'Age: ' . $age : '') .
'</html>';
$mpdf = new mPDF();
$mpdf->WriteHTML($html);
$mpdf->Output();
?>
如何在 $html
中传递 if
语句?我正在从表单的值构建 pdf,但我不确定如何使用 html 传递此 if
语句。
我正在使用 mPDF
版本 6 生成 pdf。
我研究了一段时间,但没有找到正确的方法。所以,我真的很感谢你的建议。提前致谢。
<?php
include('mPDF/mpdf.php');
$name = $_POST["name"];
$age = $_POST["age"];
$html = '<html>
{if (!empty($_POST['name'])) echo 'Name: ' . $name;}<br>
{if (!empty($_POST['age'])) echo 'Age: ' . $age;}
</html>';
$mpdf = new mPDF();
$mpdf->WriteHTML($html);
$mpdf->Output();
?>
这是表格,以备不时之需:
<form method="post" action="generatePDF.php">
Name: <input type="text" name="name" id="name" /><br>
Age: <input type="text" name="age" id="age" /><br>
</form>
我宁愿将其更改为以下内容,这样我就不必检查 HTML 中的条件。预先执行所有条件并准备好可在 HTML 中使用的变量,以生成 PDF:
<?php
include('mPDF/mpdf.php');
$name = !empty($_POST["name"]) ? 'Name: ' . $_POST['name'] : '';
$age = !empty($_POST["age"]) ? 'Age: ' . $_POST["age"] : '';
$html = '<html>' .
$name . '<br>' .
$age .
'</html>';
$mpdf = new mPDF();
$mpdf->WriteHTML($html);
$mpdf->Output();
?>
首先你需要使用双引号
$html=" code "; // because variable execute only in double quote
其次你需要在字符串
之外使用if statementif (!empty($_POST['name'])){ $prnt_name='Name: ' . $name;}
if (!empty($_POST['age'])) { $prnt_age= 'Age: ' . $age;}
$html = "<html>
$prnt_name<br>
$prnt_age
</html>";
您不能在字符串文字中嵌入 PHP 代码。以常规方式构建您的 $html 字符串:
<?php
include('mPDF/mpdf.php');
$name = $_POST["name"];
$age = $_POST["age"];
$html = '<html>' . (!empty($name) ? 'Name: ' . $name : '') . '<br>'
. (!empty($age) ? 'Age: ' . $age : '') .
'</html>';
$mpdf = new mPDF();
$mpdf->WriteHTML($html);
$mpdf->Output();
?>