如何在 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();
   ?>