2017-02-16 14 views
0

htmlデコードに関する質問があります。htmlエンティティ/特殊文字デコード

WordPressのgravityformsプラグインを使用してフォームを管理しています。 formtitleにはウェブサイトの名前が含まれます。 今週、特殊文字にバグがありました。&の看板がメールボックスに&として表示されていました。私はhtml specialcharacters decodeを使ってこれを修正しました。 その後、'記号で同様のバグがあったようです。どうやら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

はい、私は、あなたがちょうどstackoverflowによるとすぐに答えたので、それを行うことができませんでした受け入れるように答えをマークすることができます;) – Maartje