电子邮件模板编辑中的标签

时间:2014-09-17 19:22:19

标签: php

我正在制作一个带有电子邮件功能的系统,但我希望管理员可以使用管理面板更改这些电子邮件。我打算用ckeditor做这个,但我希望我可以添加标签,例如放置用户名。像这样:

Dear %%name%%,

Thank you for purchasing %%item%%.

Kind Regards,
%%business%%

谢谢!

1 个答案:

答案 0 :(得分:0)

您的代码的一部分可能如下所示:

$text = <text from editor>
$tokens['name'] = 'Mr. Jones';
$tokens['item'] = 'left shoe';
$tokens['business'] = 'WalkThisWay';

// match anything between '%%' than's not a control chr or '%', min 3 and max 16 chrs.
if (preg_match_all('/%%[^[:cntrl:]%]{3,16}%%/',$text,$matches))
{
  // replace all found tokens
  foreach ($matches[0] as $match)
  {
    // get token
    $tokenKey = trim($match,'%');
    // replace
    $text = str_replace($match,$tokens[$tokenKey],$text);
  }
}

它寻找匹配的令牌并用真实内容替换它们。您仍然需要考虑如何获取$tokens数组。