0

次のコードがあります。

function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }

    $email_message .= "First Name: ".'<strong>'.clean_string($cname).'</strong>'."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";

このフォームからメールを送信します。メールの最初の行を次のようにしたかったのです。

名:入力した名前

しかし、私が得るものは次のとおりです。

名:<strong>入力した名前</strong>

HTMLタグが理解されない理由は何ですか?

どうもありがとう

4

3 に答える 3

0

メールはデフォルトでテキストメールとして送信されます。

電子メール クライアントが電子メール本文を HTML として解釈するようにするには、本文を適切な形式で配信する必要があります。これは、Content-Typeフィールドによって示されます。

Content-Type: text/html; charset=iso-8859-1

このフィールドは、PHP のmail() 関数の追加ヘッダーパラメータに挿入できます。

PHP で HTML メールを送信する方法については、上記のリンクの例 #4 を参照してください。

于 2013-09-17T13:47:48.803 に答える
0

文字列に特殊文字を使用しているため、エラーが発生します。関数 htmlspecialchars を使用すると、それらを html に変換でき、問題はありません。あなたの場合、htmlspecialcharsは<と>をエスケープします

詳細については、php ドキュメント http://fi2.php.net/manual/en/function.htmlspecialchars.phpを参照してください。

于 2013-09-17T13:46:05.053 に答える