PHP urlencode() 和空格

标签 php urlencode

我要对这个字符串进行编码(带换行符)

发件人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/

相关文章:

javascript - Base64 编码 url 涉及的安全漏洞

java - 将“转换为 %22”的正确 URLencoder 编码是什么?

perl - 禁用 HTTP 请求中的 URL 编码

javascript - 使用 javascript 和 php 推送 MySQL 数据

PHP 二维数组和 foreach 循环

php - 使用 put 对象和 s3 捕获错误

php - MYSQL最佳行数统计方法-大型数据库

Java:url 编码完整保留 'allowed' 字符

php - 在sql表中创建关系

python - 如何从 Django 中的编码 URL 获取请求参数?