2011-12-07 125 views
0

嗨我有這個正則表達式來匹配ursl,但我也需要匹配子域名。preg_match_all正則表達式子域名

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。如果你正在使用的語言提供它,那麼使用適當的解析器庫來更好地使用它。