繁体   English   中英

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

[英]How to add a line break into a mailto link that is being encoded with PHP's rawurlencode

我有这样的东西。

<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>

我想在邮件正文中插入换行符。 我通过Google发现可以将%0D%0A放入mailto进行换行,但问题是rawurlencode只会对其进行编码。 为了使换行符显示在消息中,我可以在rawurlencode中添加什么。

如果使用双引号,则可以在字符串中添加\\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. */

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM