Php 如何将当前URL传递给mailto body

Php 如何将当前URL传递给mailto body,php,email,url,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"] : $_

我无法将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=

因此,不使用此链接:

我在邮件正文中看到这个:

请帮助我如何通过所有链接,包括“&”


Thx在mailto中用于分隔不同的部分,如:

&subject=some\u subject&body=message\u body

So将被解释为mailto的(无效)参数(省略)。因此,如果您希望在主体中包含“&”(以及url的其余部分),则需要将其替换为它们的%值。使用类似于
urlencode()
的函数即可完成此任务

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


对你有帮助吗?你需要
urlencode()
它。你能详细说明为什么这个解决方案可以解决这个问题吗?就是这样。效果很好。非常感谢武士。@Denomales:“&”在mailto中用于分隔不同的部分,如&subject=some\u subject&body=message\u body,因此如果您想在正文中包含“&”,则需要将其替换为其%值,urlencode()完成此工作。