允许用户选择在CakePHP中的电子邮件模板中使用的字符串

威普

我们中有一些电子邮件模板,一个非常基本的模板如下所示:

<p> Hi <?= $name?>,</p></br>
<p> A new task has been assigned to you. Please check your tasks list. </p>

如果要翻译基本文本,我们需要允许用户插入自己的文本。

最简单的方法显然是为每个用户存储两个字符串/翻译:

"Hi"
"A new task has been assigned to you. Please check your tasks list."

然后只是选择它们,但是当用户仅想让电子邮件说:“"New task has been assigned"没有任何好处”时,就会出现问题

问题是:我们如何允许用户存储包括html标记和php变量名称的字符串?

所有模板都很简短,最多包含3个php变量。

如果还有其他有价值的信息可以提供,请问一下。

盐水

如果要翻译基本文本,我们需要允许用户插入自己的文本。

..我们决定将它们存储在数据库中

简单的解决方案。

在前端,允许用户创建自己的电子邮件文本,并存储在db中,例如:

<p> Hi {{name}},</p></br>
<p> A new task has been assigned to you. Please check your tasks list. </p>
<hr>
<p>Best regards,</p>
<p>{{admin}}</p>
<p>{{email}}</p>

如您所见,这里是{{name}},{{admin}},{{email}}作为变量占位符。

在渲染电子邮件或HTML页面之前的后端,使用str_replace()php函数查找变量占位符并替换为其他值:

$tpl = $user->template; // load from db
$tpl = str_replace("{{name}}", $user->name, $tpl);
$tpl = str_replace("{{admin}}", $admin->name, $tpl);
$tpl = str_replace("{{email}}", $admin->email, $tpl);

echo $tmpl;

或drmonkeyninja回答的问题

   $tpl = str_replace(
      [
         '{{name}}', 
         '{{admin}}', 
         '{{email}}'
      ],
      [
         $user->name,
         $admin->name,
         $admin->email
      ],
      $user->template // load from db
   );
   echo $tpl;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

允许用户选择在CakePHP中的电子邮件模板中使用的字符串

来自分类Dev

Apps脚本电子邮件:HTML字符串未在模板主体中评估

来自分类Dev

在特定的WooCommerce电子邮件模板上的文本字符串中插入动态值

来自分类Dev

Google+ API - 在查询字符串中传递用户电子邮件

来自分类Dev

如何在电子邮件过滤器中使用此字符串?

来自分类Dev

Python在imap电子邮件中搜索字符串

来自分类Dev

用Java替换字符串中的电子邮件

来自分类Dev

字符串到电子邮件中的 html 元素

来自分类Dev

CQ5 javax.mail中的“字符串中的非法地址”电子邮件模板

来自分类Dev

使用EmailAddressAttribute验证.net中的电子邮件字符串,但不验证属性

来自分类Dev

允许用户在Rails中为ActionMailer创建自定义电子邮件模板

来自分类Dev

从bash中的字符串中提取电子邮件字符串

来自分类Dev

在 C# 中使用正则表达式查找字符串中的所有电子邮件地址

来自分类Dev

如何在blat.exe中使用字符串变量设置电子邮件正文内容?

来自分类Dev

正则表达式以验证电子邮件格式或某些模板字符串

来自分类Dev

如何将字符串分配给PHP变量以用于电子邮件模板?

来自分类Dev

如何允许用户使用php中的用户名和电子邮件登录?

来自分类Dev

将整个电子邮件正文作为字符串传递并在rails中呈现电子邮件

来自分类Dev

字符串正则表达式用户名或电子邮件挂起

来自分类Dev

字符串正则表达式用户名或电子邮件挂起

来自分类Dev

用户电子邮件未显示在模板[METEOR]中!

来自分类Dev

我正在从给定的字符串中找到一封电子邮件,并返回该字符串中存在的电子邮件

来自分类Dev

如何在CakePHP 3中使用电子邮件传输类“ Debug”

来自分类Dev

使用ActionMailer选择特定的电子邮件模板

来自分类Dev

我可以在电子邮件模板中使用DIV吗?

来自分类Dev

无法在车把中使用部分电子邮件模板

来自分类Dev

使用YUP的电子邮件验证中仅允许ASCII字符

来自分类Dev

电子邮件格式的Dynamics AX字符串操作

来自分类Dev

PHP电子邮件/密码验证类似字符串

Related 相关文章

  1. 1

    允许用户选择在CakePHP中的电子邮件模板中使用的字符串

  2. 2

    Apps脚本电子邮件:HTML字符串未在模板主体中评估

  3. 3

    在特定的WooCommerce电子邮件模板上的文本字符串中插入动态值

  4. 4

    Google+ API - 在查询字符串中传递用户电子邮件

  5. 5

    如何在电子邮件过滤器中使用此字符串?

  6. 6

    Python在imap电子邮件中搜索字符串

  7. 7

    用Java替换字符串中的电子邮件

  8. 8

    字符串到电子邮件中的 html 元素

  9. 9

    CQ5 javax.mail中的“字符串中的非法地址”电子邮件模板

  10. 10

    使用EmailAddressAttribute验证.net中的电子邮件字符串,但不验证属性

  11. 11

    允许用户在Rails中为ActionMailer创建自定义电子邮件模板

  12. 12

    从bash中的字符串中提取电子邮件字符串

  13. 13

    在 C# 中使用正则表达式查找字符串中的所有电子邮件地址

  14. 14

    如何在blat.exe中使用字符串变量设置电子邮件正文内容?

  15. 15

    正则表达式以验证电子邮件格式或某些模板字符串

  16. 16

    如何将字符串分配给PHP变量以用于电子邮件模板?

  17. 17

    如何允许用户使用php中的用户名和电子邮件登录?

  18. 18

    将整个电子邮件正文作为字符串传递并在rails中呈现电子邮件

  19. 19

    字符串正则表达式用户名或电子邮件挂起

  20. 20

    字符串正则表达式用户名或电子邮件挂起

  21. 21

    用户电子邮件未显示在模板[METEOR]中!

  22. 22

    我正在从给定的字符串中找到一封电子邮件,并返回该字符串中存在的电子邮件

  23. 23

    如何在CakePHP 3中使用电子邮件传输类“ Debug”

  24. 24

    使用ActionMailer选择特定的电子邮件模板

  25. 25

    我可以在电子邮件模板中使用DIV吗?

  26. 26

    无法在车把中使用部分电子邮件模板

  27. 27

    使用YUP的电子邮件验证中仅允许ASCII字符

  28. 28

    电子邮件格式的Dynamics AX字符串操作

  29. 29

    PHP电子邮件/密码验证类似字符串

热门标签

归档