mailto php字符串中的符号正在破坏字符串的其余部分

mailto php字符串中的符号正在破坏字符串的其余部分,php,mailto,Php,Mailto,我正在使用下面的代码创建动态mailto链接 <?php echo urlencode(str_replace(" ", "%20", the_title() )); ?> 输出:菜单鲑鱼蟹和金枪鱼 尽管我正在查找并替换空格,但空格似乎打破了字符串。当我查看源代码时,这就是我得到的 mailto:?Subject=Menu%20Salmon%20Crab &#038; Tuna 同样的代码适用于菜单鲑鱼蟹 谁能帮我理解为什么。谢谢。在邮件中使用空格应该不会有任何问题,请

我正在使用下面的代码创建动态
mailto
链接

<?php echo urlencode(str_replace(" ", "%20",  the_title() )); ?>
输出:菜单鲑鱼蟹和金枪鱼

尽管我正在查找并替换空格,但空格似乎打破了字符串。当我查看源代码时,这就是我得到的

mailto:?Subject=Menu%20Salmon%20Crab &#038; Tuna
同样的代码适用于菜单鲑鱼蟹


谁能帮我理解为什么。谢谢。

邮件中使用空格应该不会有任何问题,请尝试:

<?php
    echo urlencode('my string with & sign');
?>

为什么要使用双URL编码?无需更换
str\u
<?php
    echo urlencode('my string with & sign');
?>