parsingstring以添加到URL编码的URL

鉴于string:

"Hello there world" 

我怎样才能创build一个URL编码的string,如下所示:

 "Hello%20there%20world" 

如果string还有其他符号,我也想知道该怎么做,如:

 "hello there: world, how are you" 

最简单的方法是什么? 我正在parsing,然后build立一些代码。

3 Solutions collect form web for “parsingstring以添加到URL编码的URL”

 require 'uri' URI.encode("Hello there world") #=> "Hello%20there%20world" URI.encode("hello there: world, how are you") #=> "hello%20there:%20world,%20how%20are%20you" URI.decode("Hello%20there%20world") #=> "Hello there world" 

Ruby的URI对此很有用。 您可以通过编程方式构build整个URL,并使用该类添加查询参数,并为您处理编码:

 require 'uri' uri = URI.parse('http://foo.com') uri.query = URI.encode_www_form( 's' => "Hello there world" ) uri.to_s # => "http://foo.com?s=Hello+there+world" 

这些例子是有用的:

 URI.encode_www_form([["q", "ruby"], ["lang", "en"]]) #=> "q=ruby&lang=en" URI.encode_www_form("q" => "ruby", "lang" => "en") #=> "q=ruby&lang=en" URI.encode_www_form("q" => ["ruby", "perl"], "lang" => "en") #=> "q=ruby&q=perl&lang=en" URI.encode_www_form([["q", "ruby"], ["q", "perl"], ["lang", "en"]]) #=> "q=ruby&q=perl&lang=en" 

这些链接也可能是有用的:

  • 何时编码空格加(+)或%20?
  • URL编码空格字符:+或%20?
  • 17.13.4从W3的“HTML文档中的表单”build议表单内容types 。

如果有人有兴趣,最新的做法是在再培训局做:

  <%= u "Hello World !" %> 

这将呈现:

您好%20World%20%21

url_encode的缩写

你可以在这里find文档

  • 资源和资源方法之间的区别
  • 如何获取单个列的值到数组中
  • Rails 3 - 加快控制台加载时间
  • Rails引擎中的迁移?
  • Rails,如何渲染模型中的视图/部分
  • 将持续时间转换为Rails 3或Ruby中的小时:分钟:秒(或类似)
  • 如何使用Rails 3 / Rack不使用www进行redirect?
  • 如何在Rails 3.1中禁用资产pipe道(链轮)消息的日志logging?
  • 由于readline错误,无法执行“rails控制台”
  • 如何在不触摸updated_at属性的情况下更新单个属性?
  • 从Rails控制台devise密码重置