Rails从域中查找域名?

时间:2010-11-08 23:00:43

标签: ruby-on-rails ruby-on-rails-3

我有以下内容:

domain = email.split("@").last

需要EMAIL(steve.jobs@apple.com)并返回apple.com

我想知道如何只使用苹果域名,没有扩展名。想法?

1 个答案:

答案 0 :(得分:2)

域名没有“扩展名”,只是域名和子域名。如果你遇到这个地址怎么办:

an.apprentice@mail.somecompany.co.uk
你想要什么作品?

您可以更进一步分割

domainPieces = domain.split(".")

但是你必须决定你想用这些作品做什么。

可能的代码:

# expand this list
closedTlds = [ 'uk', 'pro' ]
# expand this list too
fullDomains = [ 'del.icio.us' ]

whoKnowsWhatThisActuallyMeans = ''

domain = email.split("@").last
domainPieces = domain.split(".")

if fullDomains.include?(domain)
    whoKnowsWhatThisActuallyMeans = domain
else
    if closedTlds.include?(domainPieces.Last)
        whoKnowsWhatThisActuallyMeans = domainPieces[-3]
    else
        whoKnowsWhatThisActuallyMeans = domainPieces[-2]
    end
end

whoKnowsWhatThisActuallyMeans # should return the correct value

我还在学习ruby,所以我认为语法是正确的,但我不确定。