2014-01-30 130 views
0

我在我的Symfony2 webapp中使用Swiftmailer。如何處理電子郵件主題中的特殊字符?

// Subject and body dynamically come from database 
$subject = "This is my subject with an apostroph ' in it."; 
$bodytext = "Test text, also with an ' apostrophe in it."; 

$message = \Swift_Message::newInstance() 
      ->setSubject($subject) 
      ->setFrom('[email protected]') 
      ->setTo('[email protected]'); 

$message->setBody($bodytext); 

$this->get('mailer')->send($message); 

現在,當存在特殊字符時,例如,在我的題目撇號('),電子郵件,都在我的電子郵件客戶端一個奇怪的主題行:

這是我與APOSTROPH '在其主題

有趣的事情:身體文本正確顯示,它只是錯誤格式化的主題。

現在我該如何處理像這樣的特殊字符 - 甚至更好,在通過處理特殊字符的主題之前,我可以調用一個函數嗎?

+1

你試過\」? – AtanuCSE

+0

對不起,我應該提到文本不是靜態的,而是動態的。我會在我的問題中改變這一點。但不錯的建議雖然;-) –

回答

1

試圖逃脫與htmlentities PHP功能的主體:

$subject = htmlentities("This is my subject with an apostroph ' in it."); 
+0

這是否會處理其他可能被錯誤解析的特殊字符? –

+1

爲此目的更好地使用[htmlentities](http://www.php.net/manual/ru/function.htmlentities.php) –