1

次のコードを使用して電子メールを送信しようとしています

$mess00 = "Store Email: " . $storeEmail . "\r\n"; 
...         
$message = $mess00 . "<br \><br \>" . $mes1 . "<br \><br \>" . $mess0 . "<br \>" . $mess1 . "<br \>" . $mess2 . "<br \>" .  $mess3;

$message = "<html><body><p>".$message."</p></body></html>";
try {
$this->Mail($storeEmail, $subject, $message);

ここで、店舗名が である場合を想定しますStackOver's Inc。、メールで私がStackOver\'s Inc.受け取るメールを受信したときにこれらの\を削除できるようにするにはどうすればよいですか.

PS これらの名前はデータベースに保存されます。

4

2 に答える 2

2

メッセージを送信する前に、stripslashes()を使用してバックスラッシュを削除する必要があります。

$clean_message = stripslashes ($message);
$this->Mail($storeEmail, $subject, $clean_message);
于 2013-10-02T03:42:08.183 に答える
1

これは、データベース内のデータがすでに間違っていることを意味します。挿入時にmagic_quotes_gpc有効にしていました。この機能は 5.3 で廃止され、5.4 で完全に削除されましたが、古いバージョンではデフォルトで有効になっています。

インストールをアップグレードできない場合に、既存の環境でマジック クォートを無効にする方法については、この記事をお読みください。

上記を修正した後、影響を受けるすべてのデータベース エントリを修正する必要があります。これを行うには、各レコードをロードし、適用stripslashes()して再度保存します。

于 2013-10-02T03:54:07.320 に答える