Module | URI |
In: |
lib/uri/common.rb
lib/uri/ftp.rb lib/uri/generic.rb lib/uri/http.rb lib/uri/https.rb lib/uri/ldap.rb lib/uri/mailto.rb |
Author: | Akira Yamada <[email protected]> |
Revision: | $Id: common.rb,v 1.11.2.7 2005/06/24 04:15:20 akira Exp $ |
License: | You can redistribute it and/or modify it under the same term as Ruby. |
URI::extract(str[, schemes][,&blk])
str: | String to extract URIs from. |
schemes: | Limit URI matching to a specific schemes. |
Extracts URIs from a string. If block given, iterates through all matched URIs. Returns nil if block given or array with matches.
require "uri" URI.extract("text here http://foo.example.org/bla and here mailto:[email protected] and here also.") # => ["http://foo.example.org/bla", "mailto:[email protected]"]
URI::join(str[, str, ...])
str: | String(s) to work with |
Joins URIs.
require 'uri' p URI.join("http://localhost/","main.rbx") # => #<URI::HTTP:0x2022ac02 URL:http://localhost/main.rbx>
URI::parse(uri_str)
uri_str: | String with URI. |
Creates one of the URI’s subclasses instance from the string.
Raised if URI given is not a correct one.
require 'uri' uri = URI.parse("http://www.ruby-lang.org/") p uri # => #<URI::HTTP:0x202281be URL:http://www.ruby-lang.org/> p uri.scheme # => "http" p uri.host # => "www.ruby-lang.org"
URI::regexp([match_schemes])
match_schemes: | Array of schemes. If given, resulting regexp matches to URIs whose scheme is one of the match_schemes. |
Returns a Regexp object which matches to URI-like strings. The Regexp object returned by this method includes arbitrary number of capture group (parentheses). Never rely on it’s number.
require 'uri' # extract first URI from html_string html_string.slice(URI.regexp) # remove ftp URIs html_string.sub(URI.regexp(['ftp']) # You should not rely on the number of parentheses html_string.scan(URI.regexp) do |*matches| p $& end
URI::split(uri)
uri: | String with URI. |
Splits the string on following parts and returns array with result:
* Scheme * Userinfo * Host * Port * Registry * Path * Opaque * Query * Fragment
require 'uri' p URI.split("http://www.ruby-lang.org/") # => ["http", nil, "www.ruby-lang.org", nil, nil, "/", nil, nil, nil]