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

相關問題