2

我在将 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

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

谢谢

4

1 回答 1

0

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

&subject=some_subject&body=message_body

因此将被解释为 mailto 的(无效)参数(并被省略)。因此,如果您想在正文中包含“&”(以及 url 的其余部分),则需要将其替换为它们的 % 值。使用类似的功能urlencode()将完成这项工作。

<?php
function CurrentPageURL()
{
...
return urlencode($pageURL);
}
?>
于 2013-07-17T13:05:31.823 回答