0

PHPメールを使用して電子メールを送信しようとしていますが、アンカータグを使用すると、ファイル名に一重引用符(')が含まれている場合、リンクが一重引用符(')を超えません。

問題が発生するコード行は次のとおりです。

$message .= "<tr><td><strong>View LOA:</strong> </td><td><a     href='http://myurl.com/loa/" . $myloa . "'>" . strip_tags($myloa) . "</a></td></tr>";

($ myloaはデータベースから取得されます。サーバーに複数のファイルをアップロードし、ファイル名をDBに保存しています。)

電子メールでは、$ myloaは、たとえば、AlexのLOA.pdfとして読み取ることができます。

ただし、クリックしようとすると(アンカーされているため)、リンクはAlexまでしか表示されません。したがって、リンクは次のようになります。http: //myurl.com/loa/AlexのLOA.pdfではなくhttp://myurl.com/loa/Alex

どうすればこれを修正できますか?ありがとう。

これが私の完全なコードです:

$emailloa = $_POST['emailloa'];



$to .= "" . strip_tags($emailloa) . "";


$subject = "The " . strip_tags($name) . " LOA";


$message = '<html><body>';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= "<tr style='background: #eee;'><td><strong>Sent by:</strong> </td><td>" .     strip_tags($_SESSION['user']['first']) . " " . strip_tags($_SESSION['user']['last']) . "    </td></tr>";
$message .= "<tr><td><strong>View LOA:</strong> </td><td><a     href='http://myurl.com/loa/" . $myloa . "'>" . strip_tags($myloa) . "</a></td></tr>";
$message .= "</table>";
$message .= "</body></html>";


$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
4

1 に答える 1

1

一重引用符と二重引用符を入れ替えた場合はどうなりますか?

$message .= '<tr><td><strong>View LOA:</strong> </td><td><a     href="http://myurl.com/loa/' . $myloa . '">' . strip_tags($myloa) . '</a></td></tr>';

二重引用符が通訳を捨てているのだろうか:http://php.net/manual/en/language.types.string.php

于 2012-12-26T20:13:53.043 に答える