我要对这个字符串进行编码(换行)
寄件者身份
寄件者身份
寄件者身份
当使用这个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方法。

10-08 13:14