我要对这个字符串进行编码(带换行符)
发件人ID
发件人 ID
发件人编号
使用此 urlencode generator 时, 我得到了想要的输出
Sender%20ID%0ASender%20ID%0ASender%20ID
然而,当我使用 php urlencode() 时,我得到了这个输出
Sender+ID%0D%0ASender+ID%0D%0ASender+ID
当使用 php rawurlencode() 我得到这个输出
Sender%20ID%0D%0ASender%20ID%0D%0ASender%20ID
如何实现和生成器一样的输出?我需要它是相同的,因为黑莓手机只有在换行符的 urlencode 是 %0A 时才会正确显示换行符(我正在使用短信系统)。
现在我能想到的唯一解决方案是搜索 %0D%0A 并替换为 %0A
最佳答案
您有一个 Windows 行结尾,它由 PHP 直接翻译并被您的生成器工具忽略。摆脱它的简单方法是:
str_replace( "\r\n", "\n", $input );
%0D
指的是第13个ASCII字符:\r
。由于紧随其后的是 %0A
(\n
),很明显您的 MS 行结尾是 (\r\n
)而不是 *nix 行结尾 (\n
) 并且 urlencode 生成器正在使用 *nix 方法。
关于PHP urlencode() 和空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7315491/