草庐IT

PHP urlencode() 和空格

coder 2024-04-16 原文

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

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

有关PHP urlencode() 和空格的更多相关文章

  1. ruby - ruby 乘法语句中星号中断语法前的空格 - 2

    在添加一些空格以使代码更具可读性时(与上面的代码对齐),我遇到了这个:classCdefx42endendm=C.new现在这将给出“错误数量的参数”:m.x*m.x这将给出“语法错误,意外的tSTAR,期待$end”:2/m.x*m.x这里的解析器到底发生了什么?我使用Ruby1.9.2和2.1.5进行了测试。 最佳答案 *用于运算符(42*42)和参数解包(myfun*[42,42])。当你这样做时:m.x*m.x2/m.x*m.xRuby将此解释为参数解包,而不是*运算符(即乘法)。如果您不熟悉它,参数解包(有时也称为“spl

  2. ruby - 将 Ruby 中的字符串切成固定长度的字符串,忽略(不考虑/不管)新行或空格字符 - 2

    我有一个包含许多换行符和空格的字符串。我需要将它拆分成固定长度的子字符串。例如a="Thisissome\nText\nThisissometext"现在我想把它分成长度为17的字符串。所以现在它应该导致["Thisissome\nText","\nThisissometex","t"]评论:我的字符串可能包含任何字符(空格/单词等) 最佳答案 "Thisissome\nText\nThisissometext".scan(/.{1,17}/m)#=>["Thisissome\nText","\nThisissometex","t"

  3. ruby - 至少 2 个空格的正则表达式? - 2

    我需要忽略任何一个空格,并且应该匹配至少大于一个空格的空格..."MARYHADALITTLELAMB"我希望"MARY","HADALITTLE","LAMB" 最佳答案 空格匹配是\s,您可以在花括号中提供最小值和最大值。您也可以省略其中任何一个,如下所示:\s{2,}所以你的代码应该是这样的:"MARYHADALITTLELAMB".split(/\s{2,}/)Youcantestitonlinehere! 关于ruby-至少2个空格的正则表达式?,我们在StackOverflo

  4. ruby - 在 ruby​​ 中的字符串前后添加空格? - 2

    我想在随机字符串前后添加一个空格。我试过使用"Random_string".center(1,"")但它不起作用。谢谢 最佳答案 我发现这是最优雅的解决方案:padded_string="#{random_string}"走简单的路没有错。 关于ruby-在ruby​​中的字符串前后添加空格?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3357897/

  5. ruby-on-rails - 在 Rails 中格式化没有空格的日期 - 2

    我使用的API返回日期为"20090320",即Y、m和d。我如何在rails中将其格式化为20-03-2009?提前致谢! 最佳答案 Date.strptime('20090320','%Y%m%d').strftime('%d-%m-%Y') 关于ruby-on-rails-在Rails中格式化没有空格的日期,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/21364460/

  6. ruby - 什么是 Ruby 正则表达式来匹配至少有一个句点且没有空格的字符串? - 2

    匹配至少有一个句点且没有空格的字符串的正则表达式是什么? 最佳答案 你可以使用这个:/^\S*\.\S*$/它是这样工作的:^您可以将\S替换为[^]以严格使用空格(而不是制表符等) 关于ruby-什么是Ruby正则表达式来匹配至少有一个句点且没有空格的字符串?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3913436/

  7. ruby - 如何在 Cucumber 的功能名称中使用空格 - 2

    我正在使用Windows并尝试运行一个现有的功能包,该功能包最初是在MacOS上构建的,这允许他们通过使用带空格的"\"来解决问题。我正在使用Ruby2.2.3和Cucumber。功能名称包含空格,我无法更改它。我尝试使用""和''来绕过空白,但每次都有同样的问题。这是问题的一个例子。如果我运行:cucumberfeatures/'Namecontainingwhitespaces.feature'它工作正常。但是当我运行时:cucumber-pmy_profile和cucumber.yml包含:my_profile:features/'Namecontainingwhitespace

  8. ruby-on-rails - encode_www_form 将空格转换为 + 而不是 %20 - 2

    我正在尝试从使用RubyonRails的散列创建http参数,我尝试使用URI.encode_www_form(params),但这没有正确生成参数。下面是我的哈希值params['Name'.to_sym]='NiaKun'params['AddressLine1'.to_sym]='AddressOne'params['City'.to_sym]='CityName'这个方法把空格转成+,我要的是把空格转成%20我收到"Name=Nia+Kun&AddressLine1=Address+One&City=City+Name"但我需要将此空格转换为%20

  9. Ruby 正则表达式 - 用文本中间的空格替换点 - 2

    我有一个很长的文本,我想用空格替换其中的点,但只能在文本的中间。例如:Domain:...................google.com我需要这样:Domain:google.com我发现了这个用单个空格替换点的正则表达式:str.gsub!(/(?但这还不够,因为它会产生:Domain:google.com我需要保留与点一样多的空格。你会如何解决? 最佳答案 你快到了,你的正则表达式没问题,只需使用String#gsub的block版本计算替换匹配的长度:▶str='Domain:...................goo

  10. ruby - 如何在 ruby​​ 中拆分字符串并在拆分中维护空格 - 2

    我有一个字符串:"hello\tWorld\nbla"我想把它拆分成:["hello\t","World\n","bla"]我如何在Ruby中执行此操作? 最佳答案 >>"hello\tWorld\nbla".scan/\S+\s*/=>["hello\t","World\n","bla"] 关于ruby-如何在ruby​​中拆分字符串并在拆分中维护空格,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

随机推荐