2011-12-07 2 views
0

안녕하세요,이 정규식을 ursl과 일치시키지 만 하위 도메인과도 일치해야합니다.preg_match_all regex subdomains

public function getUrls($url){ 
    preg_match_all("#(www\.|https?:\/\/){1}[a-zA-Z0-9]{2,}\.[a-zA-Z0-9]{2,}(\S*)#i",$url, $matches); 
    return $matches[0]; 
} 

이 경기 http://domain.com하지만 http://sub.domain.com

그것이 작동되도록하는 방법을 어떤 생각?

+0

다음을 살펴보십시오. http://stackoverflow.com/questions/288810/get-the-subdomain-from-a-url – Birei

답변

1

[a-zA-Z0-9]{2,}\.([a-zA-Z0-9]{2,}\.)+으로 바꿉니다. 하지만 정규 표현식은 많은 무효 도메인과 일치하며 아마 모든 유효한 URL 중 하나와도 일치하지 않을 것입니다. 사용하는 언어에서 URL을 제공하는 경우 적절한 파서 라이브러리를 사용하는 것이 현명합니다.