2011-12-07 9 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

次のURLをご覧ください: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を提供している場合は、適切なパーサライブラリをURLに使用することをお勧めします。