2014-12-06 46 views
0

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

  1. 用户 - 与名称,地址,电话号码和类别
  2. Email_templates - 像圣诞节,在前端新年等

不同的电子邮件模板我有一个textarea在数据库中添加模板。

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

现在我能够获取用户和电子邮件模板的所有细节,但无法用php替换带有值的标记。 我试图用str_replace替换{name}和其他标记,像$ user-> name这样的变量。

+0

如果你与变量未设置,然后定义标记它 – WeTheBrains 2014-12-06 07:05:14

回答

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; 
+0

如果它的工作,那么你可以请接受我的答案吗? – 2014-12-06 07:38:11

+0

你的方法可以帮助我以适当的方式编写代码,我已经在使用str_replace。 – 2014-12-06 07:46:05

相关问题