我正在创建一个PHP邮件列表系统。 我需要的是为名称,电子邮件等重复一些字符。 例如
嗨,[[FirstName]]
blablabla
问候,杰夫
正则表达式应该检测[[]],FirstName并用DB中的一些字符串替换它。
我不是正则表达专家,我尝试了一些正则表达式,但无法做出完美的解决方案..
谢谢..
答案 0 :(得分:1)
您可以轻松使用str_replace
。
混合str_replace(混合$ search,混合$ replace,混合$ subject [,int& $ count])
您的代码可能如下所示(如果$text
包含邮件文本):
$text = str_replace("[[FirstName]]", "Name 1", $text);
如果您想一次替换多个字符串,可以使用$search
和$replace
的数组
$text = str_replace(array("[[FirstName]]", "[[LastName]]"), array("Name 1", "Name 2"), $text);
答案 1 :(得分:0)
如果你有固定的变量,你不需要你想要的正则表达式。您只需要str_replace()。将模板的变量放在第一个数组中,将数据源中的值放在第二个数组()中。
示例:
$message = str_replace(array('{name}', '{whatever}'), array($name, $whatever), $message);