gpt4 book ai didi

php - 带有 str_replace 的 HTML 电子邮件模板

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

我有一个表单,我用 AngularJs 编写了它。当用户提交形成一个 php 脚本(用 Slim 制作)被执行,它将表单数据插入数据库并生成一个电子邮件(PHPmailer)。

现在回答问题:

我使用模板中的 file_get_contents 从电子邮件中获取结构,并将占位符替换为 str_replace。

模板:

<h2>User Information</h2>

<table>
<tbody>
<tr><th>Firstname:</th><td>%firstname%</td></tr>
<tr><th>Lastname:</th><td>%lastname%</td></tr>
</tbody>
</table>
<br>

<h2>Other Information</h2>

<table>
<tbody>
<tr><th>Phone:</th><td>%phone%</td></tr>
<tr><th>E-Mail:</th><td>%email%</td></tr>
<tr><th>Organisation:</th><td>%organisation%</td></tr>
</tbody>
</table>

我的问题是并非所有这些字段都是必需的,我想删除如果没有这些变量(电话、电子邮件、组织)已设置。

最佳答案

最好创建 2 个不同的模板,有和没有该表,并根据电话、电子邮件和组织的存在呈现其中一个。

类似于:

function render($firstname, $lastname, $phone = null, $email = null, $organisation = null)
{
$templatePath = (is_null($phone) && is_null($email) && is_null($organisation)) ?
'/path/to/your/template/withought/the/contact/table.html':
'/path/to/your/template/with/the/contact/table.html';

$templateContent = file_get_contents($templatePath);

$placeHolders = [
'%firstname%',
'%lastname%',
'%phone%',
'%email%',
'%organisation%',
];

$values = [
$firstname,
$lastname,
$phone,
$email,
$organisation,
];

$rendered = str_replace($placeHolders, $values, $templateContent);
return $rendered;
}

关于php - 带有 str_replace 的 HTML 电子邮件模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30979052/

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