如何将换行符添加到使用PHP的rawurlencode编码的mailto链接中

时间:2013-05-31 14:00:08

标签: php html

我有类似的东西。

<a href='mailto:mike@example.com?subject=<?php print rawurlencode('This is the subject.');?>&body=<?php print rawurlencode('Line 1 of body. Line 2 of body.');?>'>Email</a>

我想在邮件正文中添加换行符。我通过谷歌发现你可以将%0D%0A放入mailto进行换行,但问题是rawurlencode只会对它进行编码。我可以将什么内容放入rawurlencode中以便在消息中显示换行符。

2 个答案:

答案 0 :(得分:1)

如果您使用双引号,则可以在字符串中添加\r\n个字符,这样可以避免您所描述的双重编码问题。

<?php
echo rawurlencode("Line One.\r\nLine Two.");
/* Line%20One.%0D%0ALine%20Two. */

http_build_query功能也可能很方便。

<?php
$params = array(
    'subject'   => 'Subject',
    'body'      => "Line One.\r\nLine Two."
);

echo http_build_query($params);
/* subject=Subject&body=Line+One.%0D%0ALine+Two. */

答案 1 :(得分:0)

\n - 这称为换行符 - 特殊字符