您好我有一个模板:从db获取我需要将其作为电子邮件发送给客户。所以我想用[{}}替换[[]],以便twig可以轻松地用值替换实际变量。
<p>Dear [[LOCATION_OWNER]],</p>\n
\n
<p><br />\n
We are exited [[LOCATION]]</p>\n
\n
<p>It is very early stages at the moment, and it may not get picked fromour selection, but we wanted to let you know.</p>\n
\n
<p>Here my contents</p>\n
\n
<p>Best wishes,</p>\n
\n
<p>[[CUSTOMER]]</p>
我正在尝试以下方式:
$patterns = array();
$patterns[0] = '/[[]]/';
$replacements = array();
$replacements[0] = '{{}}';
$output = preg_replace($patterns, $replacements, $getTemplates->getEmailTemplate());
但它没有用[{}}替换[[]]。我在这里缺少的请帮助。我正在使用树枝作为模板
由于
答案 0 :(得分:1)
这是一种不完美的方法,但它很简单,适用于大多数情况:
$regex = '/(\[\[)(.+?)(\]\])/';
$text = '[[xxx]] [[yyy]] [[zzz]]';
echo preg_replace($reg, '{{$2}}', $str); // {{xxx}} {{yyy}} {{zzz}}
但是如果模板不使用Twig语法,可能会适应Twig?您可以change标记变量分隔符。有关Symfony环境,另请参阅detailed example。