0

我有一个表格。我正在使用“发布”方法向多个注册的人发送电子邮件。然后电子邮件的 $body 是基于模板的。没有数据库,没有类,简单的形式。是的,我已经阅读了有关此内容的信息,它们都在那里,与此案有关,我只是无法将其放在一起。

文本“email_template.txt”应该是这样的:

Hello #firstname# #lastname#. Thank you for registering! Your registered email is #email#

通过 PHP 处理后看起来像这样

Hello **John Doe**. Thank you registering! Your registered email is **example@example.com**.

在我的 php 中,我有类似的东西:

<?php 
//form and validation
$firstname = "John"; // inputed name on the form, let say
$lastname = "Doe"; // inputed last name
$email = "example"; // inputed email 

//email message
$body = ... some type of a get_file_content....
mail($_POST['email'], 'Party Invitation', $body, 'From: admin@admin.com');
?>

其中 $body 是通过此 PHP 表单提交给注册人的电子邮件。

4

1 回答 1

0

sprintf 会很好用

您的模板可能是:

你好 %s %s。感谢您注册!您的注册邮箱是 %s

$body = sprintf($fileContents,$firstname,$lastname,$email);

或者str_replace(),几乎是一个查找替换。

$body = "您好#firstname# #lastname#。感谢您的注册!您的注册邮箱是#email#";

$body = str_replace("#firstname#",$firstname,$body);

$body = str_replace("#lastname#",$lastname,$body);

$body = str_replace("#email#",$email,$body);

于 2013-08-30T05:20:44.970 回答