用另一个字符替换html中的特殊字符不起作用

问题描述:

嗨我有一个模板:从数据库中获取我需要将它作为电子邮件发送给客户。所以我想用{{}}替换[[]],这样分枝可以很容易地用值替换实际变量。用另一个字符替换html中的特殊字符不起作用

<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()); 

,但它不是与替代[[]] {{}}。我在这里错过的请帮忙。我使用树枝作为模板

感谢

这是一个不完美的方法,但它很简单,在大多数情况下是合适的:

$regex = '/(\[\[)(.+?)(\]\])/'; 
$text = '[[xxx]] [[yyy]] [[zzz]]'; 
echo preg_replace($reg, '{{$2}}', $str); // {{xxx}} {{yyy}} {{zzz}} 

但是,如果模板不使用嫩枝语法,可能会适应枝条?您可以使用change标签变量分隔符。关于Symfony环境,另请参阅detailed example