2016-12-07 100 views
1

嗨我有一個模板:從數據庫中獲取我需要將它作爲電子郵件發送給客戶。所以我想用{{}}替換[[]],這樣分枝可以很容易地用值替換實際變量。用另一個字符替換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()); 

,但它不是與替代[[]] {{}}。我在這裏錯過的請幫忙。我使用樹枝作爲模板

感謝

回答

1

這是一個不完美的方法,但它很簡單,在大多數情況下是合適的:

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

但是,如果模板不使用嫩枝語法,可能會適應枝條?您可以使用change標籤變量分隔符。關於Symfony環境,另請參閱detailed example