2013-10-11 2 views
1

도메인이 실제 일치하는지 확인하기 위해 코드 벨로우즈를 어떻게 사용할 수 있습니까?URL 구문 분석 및 일치

해당 도메인과 url은 true를 반환 할 것이지만이 주소는 url = http://www.text-apple.com/uk/으로 작동 할 것입니다. 이는 실제로 일치하지 않습니다.

하지만이 경우 일치해야합니다 (이 경우 url = http://itunes.apple.com"). 일치하는 도메인 이름 앞에 .이있는 경우처럼 추가해야합니다.

domain_parts = domain.split('.') 

URI.parse(url).host.split('.').last(domain_parts.length) == domain_parts.length 

이것은 그들이 같은거야 있는지 확인하기 위해 URI의 호스트의 마지막 N 부품을 비교 :

domain = "apple.com" 
url = "http://www.apple.com/uk/" 

def domain_is_URL?(url, domain) 
d = Regexp.escape(domain) 
URI.parse(url).host.match(d) 
end 

+1

유용한 힌트, URL은 파일 경로와 비슷합니다. – jozefg

+0

"실제 경기"란 무엇입니까? – tadman

+0

나는 그 예제를'text-apple.com/uk /'가 실제'apple.com'이 아니라 다른 웹 사이트 인 것처럼 표현했다. – John

답변

2

당신은 호스트 구성 요소를 비교 시도해 볼 수도 있습니다 감사합니다. [ 'text-apple', 'com' ][ 'apple', 'com' ]과 같지 않습니다.