gpt4 book ai didi

php - 如果我想将 HTML 保存在一个单独的文件中,如何在发送之前将 PHP 变量传递给 HTML?

转载 作者:可可西里 更新时间:2023-10-31 23:02:07 24 4
gpt4 key购买 nike

如何将 PHP 变量传递给包含在 file_get_contents 中的 HTML 文件(用作电子邮件模板)?

  1. 首先我设置了一些变量:

    $variable = 'Hello or else!';
  2. 我得到这样的 HTML/PHP 电子邮件模板:

    $html_email_body = file_get_contents('/var/www/folder/email.php');
  3. 在那个 PHP/HTML 电子邮件文件中,我使用这样的预定义变量:

    <p><?php echo $variable; ?></p>
  4. 然后最后用 PHPMailer 发送出去。

    $mail->Body    = $email_body;
    PHPMailerFunc( $html_email_body );

邮寄工作完美,但 HTML 电子邮件内容在 $variable 字符串应为的位置是空白的。

如果我想将 HTML 保存在一个单独的文件中,如何在发送之前将 PHP 变量传递给 HTML?

PS:我知道 file_get_contents 检索内容并将其解析为字符串,所以我所做的并不能真正起作用。有没有办法包含 HTML?

我在 HTML 模板中的代码

<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Email Title</title>
<style>
* {
font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
...
</tr>
</table>
<p face="arial, sans, sans-serif"><?php echo $variable['key']; ?></p>
<p face="arial, sans, sans-serif"><?php echo $variable['key2']; ?></p>
</body>
</html>

*我已经尝试过 var_dump($variable) 并且它包含正确的内容。

最佳答案

没有。但这是必须流行的解决方法。

$rpl = array(
'$variabe' => 'Hello or else!'
);

$e_tpl = file_get_contents('/var/www/folder/email.php');
$mail = str_replace(array_keys($rpl), array_values($rpl), $e_tpl);
$mail->Body = $email;

然后你可以使用<p> $variable </p>在 email.php 中

关于php - 如果我想将 HTML 保存在一个单独的文件中,如何在发送之前将 PHP 变量传递给 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38578789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com