在textarea中创建和使用标记以添加模板

时间:2014-12-06 06:57:52

标签: php variables templates

我正在开展一个项目,我需要添加一个电子邮件模板,该模板使用变量来命名,地址和电话号码。 在我的数据库中,我有2个表

  1. 用户 - 包括姓名,地址,电话号码和类别
  2. Email_templates - 针对不同的电子邮件模板,如圣诞节,新年等
  3. 前端的

    我有一个textarea来在数据库中添加模板。

    我的模板包含{name},{address},{phone}等令牌,当我使用该模板发送电子邮件时,这些令牌会被相应的用户详细信息替换。

    现在我可以获取用户和电子邮件模板的所有详细信息,但无法用php替换带有值的标记。 我尝试使用str_replace替换{name}和其他令牌,例如$ user-> name。

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码替换令牌:

$template_body = file_get_contents('Email template file path');

$email_values= array(
'name'=>$user->name,
'address'=>$user->address,
'phone'=>$user->phone,           
);
if(count($email_values)>0)
{
   foreach($email_values as $key=>$value)
   {    
      $template_body = str_replace('{'.$key.'}',$value,$template_body);
   }
}

return $template_body;