【发布时间】:2016-03-05 08:35:18
【问题描述】:
假设我有以下字符串,我想将其作为电子邮件发送给客户。
"Hello Mr/Mrs {{Name}}. You have subscribed for {{Service}} at {{Date}}."
我有一个包含应该替换的值的数组
array(
'Name' => $customerName, //or string
'Service' => $serviceName, //or string
'Date' => '2015-06-06'
);
我可以用这个找到 {{..}} 之间的所有字符串:
preg_match_all('/\{{(.*?)\}}/',$a,$match);
其中 $match 是一个带有值的数组,但我需要用带有值的数组中的对应值替换每个匹配项
请注意,具有值的数组包含更多的值,其中的项目数或键序列与字符串中的匹配数无关。
【问题讨论】:
-
作为替代方案,您可以使用已经执行此操作的现有模板引擎。或者使用发送邮件并接受此类变量的库。
标签: php regex replace preg-replace preg-match