如何将当前URL传递给mailto正文

时间:2013-07-17 12:31:23

标签: php email url

我将url传递到邮件正文时遇到问题。我用过这个:

<?php
function CurrentPageURL()
{
$pageURL = $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://';
$pageURL .= $_SERVER['SERVER_PORT'] != '80' ? $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER
["REQUEST_URI"] : $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
return $pageURL;
}
?>

mailto:?body=<?php echo CurrentPageURL(); ?>

而不是此链接: http://www.something.com/index.php?id=03new&new=50&lang=en

我在邮件正文中得到了这个: http://www.something.com/index.php?id=03new

请帮助我如何传递包括“&amp;”在内的所有链接。

THX

1 个答案:

答案 0 :(得分:0)

'&安培;'在mailto中用于分隔不同的部分,如:

&subject=some_subject&body=message_body

因此将被解释为mailto(和省略)的(无效)参数。所以,如果你想拥有'&amp;' (和其余的url)在body体内,需要用它们的%值替换。使用像urlencode()这样的函数可以完成这项工作。

<?php
function CurrentPageURL()
{
...
return urlencode($pageURL);
}
?>