我正在为我的网络应用程序编写一个电子邮件模块,该模块在完成注册等任务时向用户发送html电子邮件.现在,由于此电子邮件的格式可能会发生变化,因此我决定使用模板html页面作为电子邮件,其中包含需要替换的自定义标记,例如%fullname%.
我的函数有一个数组格式的数组(%fullname%=>'Joe Bloggs'); 使用密钥作为标记标识符以及需要替换它的值.
我尝试过以下方法:
        $fp = @fopen('email.html', 'r');
    if($fp)
    {
      while(!feof($fp)){
      $line = fgets($fp);                 
      foreach($data as $value){
          echo $value;
          $repstr = str_replace(key($data), $value, $line);           
      }
      $content .= $repstr;
      }
      fclose($fp);
    }
这是最好的方法吗?因为目前只有1个标签被取代......我是在正确的道路上还是在数英里之外?
谢谢...
我认为问题在于你的问题.这应该解决它:
foreach($data as $key => $value){
    $repstr = str_replace($key, $value, $line);               
}
或者,我认为这应该更有效:
$file = @file_get_contents("email.html");
if($file) {
    $file = str_replace(array_keys($data), array_values($data), $file);
    print $file;
}
| 归档时间: | 
 | 
| 查看次数: | 16697 次 | 
| 最近记录: |