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