Needed only the Domain name from an url


#1

hi,
Suppose if i give,
url=“www.google.com/picasa/images/1

I need only the string “google” which is the domain name.

right now i have tried this,

require ‘rubygems’
require ‘uri’
url = “http://www.google.com/picasa/images/1
puts url = URI.parse(url).host

output: “google.com

but i want only the word “google”. please help.

Pts:
the domain name can also be, “google.co.in”
ie) for example, “http://www.google.co.in/picasa/images/1

Thanks in advance,
srikanth


#2

On Wed, Apr 22, 2009 at 2:28 PM, Srikanth J. removed_email_address@domain.invalid
wrote:

url = “http://www.google.com/picasa/images/1
Thanks in advance,
srikanth

Technically google.com is the domain
If I run your code, I get “www.google.com” as the output, not
google.com
This poses an interesting problem because a domain can be:
one.two.three.four.google.co.uk
What is the domain for you in that?

Otherwise you could do something like
uri.host.sub(/.*?.?([^.]+)(?:.\w{3}|.\w{2,3}.\w{2,3})$/, ‘\1’)

It may not be the prettiest regex but it gets the job done for the
following:

Andrew T.
http://ramblingsonrails.com
http://www.linkedin.com/in/andrewtimberlake

“I have never let my schooling interfere with my education” - Mark Twain


#3

If you are using a rails app then something similar to this can be done:

In the application controller
private

           def locate_subdomain

           end

On Fri, Apr 24, 2009 at 6:01 PM, Raveendran P. <


#4

On Sat, Apr 25, 2009 at 12:44 PM, kranthi reddy removed_email_address@domain.invalid
wrote:

If you are using a rails app then something similar to this can be done:

In the application controller
private

           def locate_subdomain
                      domain = request.domain  # for just the domain

name

                          subdomain = request.subdomain  # for the

sudomain


#5

Srikanth J. wrote:

hi,
Suppose if i give,
url=“www.google.com/picasa/images/1

I need only the string “google” which is the domain name.

right now i have tried this,

require ‘rubygems’
require ‘uri’
url = “http://www.google.com/picasa/images/1
puts url = URI.parse(url).host

output: “google.com

but i want only the word “google”. please help.

Pts:
the domain name can also be, “google.co.in”
ie) for example, “http://www.google.co.in/picasa/images/1

Thanks in advance,
srikanth

Hi Sri,

Are you got the solution ?

If Yes, then update here about it…

Regards
P.Raveendran