我有类似的东西。
<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中以便在消息中显示换行符。
答案 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
- 这称为换行符 - 特殊字符