2017-02-16 117 views
0

我有一個關於html解碼的問題。html實體/特殊字符解碼

我正在使用WordPress的'gravityforms插件來管理窗體。 formtitle包含網站的名稱。 本週在特殊字符中出現了一個錯誤,&標誌在郵箱中顯示爲&。我使用html特殊字符解碼來解決這個問題。 後來它似乎出現了與'標誌類似的錯誤。顯然html_specialcharacersdecode不適用於那一個,所以我也嘗試html_entities_decode,這也不適用於'標誌。

其他標誌完全解碼,如< >() : -=+,所以我真的不知道問題是什麼。我只想'顯示爲'而不是&#039;

我的代碼:

function before_email($email) { 
     $subject = htmlspecialchars_decode($email['subject']); 
     $subject = html_entity_decode($subject); 
     $email['subject'] = '$subject'; 
     return $email; 
    } 

我的具體問題是:有我丟失的東西嗎?就像也許一些功能類似於我嘗試過的功能,或者是有其他問題?

謝謝!

+0

是的,你可以使用html_entity_decode($ subject); –

回答

1

可以使用,

$subject = html_entity_decode($subject, ENT_QUOTES); 

不過,我會建議對HTML編碼將其插入到數據庫之前。只需輸出它即可編碼。最好將原始數據存儲在數據庫中。

+0

謝謝!!!!這個伎倆。並感謝您的建議。在這種情況下,我真的不知道該怎麼做。老實說,我不認爲它存儲在數據庫中,只是轉到郵件服務器。非常感謝! :) – Maartje

+0

我的榮幸,我很高興它爲你工作。您可以將答案標記爲已接受@Maartje –

+0

是的,我會的,當您剛剛回答時,我無法做到這一點,因爲根據計算器計算得過早;) – Maartje