微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Ruby中解析URL以获得没有“www”的子域或主域?

如果我有一个URL:
http://www.example.com/page

我想解释一下:

example.com

但是,如果我有

http://blog.example.com/page

我想回来:

blog.example.com

那难吗?

解决方法

使用Ruby的 URI模块:
require 'uri'
URI.parse('http://www.example.com/page').host
=> "www.example.com"
URI.parse('http://blog.example.com/page').host
=> "blog.example.com"

在这两种情况下,URI都会提取整个主机名,因为从域中选择性地剥离主机是没有意义的.

您必须使用以下内容分别实现该逻辑:

%w[http://www.example.com/page http://blog.example.com/page].each do |u|
  puts URI.parse(u).host.sub(/^www\./,'')
end

哪个输出

example.com
blog.example.com

原文地址:https://www.jb51.cc/ruby/264713.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐