0

我有这样的东西。

<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 中添加什么以使换行符显示在消息中。

4

2 回答 2

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. */
于 2013-05-31T14:05:35.690 回答
0

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

于 2013-05-31T14:05:27.267 回答