我将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
答案 0 :(得分:0)
'&安培;'在mailto中用于分隔不同的部分,如:
&subject=some_subject&body=message_body
因此将被解释为mailto(和省略)的(无效)参数。所以,如果你想拥有'&amp;' (和其余的url)在body体内,需要用它们的%值替换。使用像urlencode()
这样的函数可以完成这项工作。
<?php
function CurrentPageURL()
{
...
return urlencode($pageURL);
}
?>