0

我正在尝试使用 php mail 发送电子邮件,但是,当使用锚标记时,如果文件名中存在单引号 ('),则链接不会越过单引号 (')。

这是出现问题的代码行:

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

($myloa 是从我的数据库中提取的。我在我的服务器上上传了多个文件,并将文件名保存在我的数据库中。)

在电子邮件中,$myloa 可以读作例如 Alex 的 LOA.pdf

但是,如果尝试单击它(因为它已锚定),则链接只会到达 Alex。所以链接看起来像这样:http://myurl.com/loa/Alex而不是http://myurl.com/loa/Alex的 LOA.pdf

我怎样才能解决这个问题?谢谢。

这是我的完整代码:

$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 回答