我從來沒有使用過正則表達式,我想知道如何編寫一個正則表達式在PHP中獲取URL的域。例如: http://www.hegnar.no/bors/article488276.ece - > hegnar.no正則表達式來獲得一個URL的主域
回答
只需使用parse_url()
如果你正在專門處理網址。
例如:
$url = "http://www.hegnar.no/bors/article488276.ece";
$url_u_want = parse_url($url, PHP_URL_HOST);
編輯: 取出萬維網。盈方,用途:
$url_u_want = preg_replace("/^www\./", "", $url_u_want);
您不需要爲此任務使用regexp。
檢查PHP的內置功能,parse_url http://php.net/manual/en/function.parse-url.php
當URL沒有www時,它返回null。或http – 2010-12-07 16:03:46
什麼返回false?鏈接到PHP手冊? – 2010-12-07 16:06:00
該功能。如果URL沒有www,則返回null。 – 2010-12-07 16:08:11
$host = parse_url($url, PHP_URL_HOST);
$host = array_reverse(explode('.', $host));
$host = $host[1].'.'.$host[0];
$page = "http://google.no/page/page_1.html";
preg_match_all("/((?:[a-z][a-z\\.\\d\\-]+)\\.(?:[a-z][a-z\\-]+))(?![\\w\\.])/", $page, $result, PREG_PATTERN_ORDER);
print_r($result);
這是問題,當你使用parse_url,在$網址沒有.com或.net或等則返回的結果爲bannedadsense,這意味着返回true,事實bannedadsense不是域。
$url = 'http://bannedadsense/isbanned'; // this url will return false in preg_match
//$url = 'http://bannedadsense.com/isbanned'; // this url will return domain in preg_match
$domain = parse_url($url, PHP_URL_HOST));
// return "bannedadsense", meaning this is right domain.
所以,我們需要繼續沒有點擴展名(.com,.net和.org和等)
if(preg_match("/^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+$/i",$domain)) {
echo $domain;
}else{
echo "<br>";
echo "false";
}
- 1. Perl正則表達式來獲得一個URL的根域
- 2. JavaScript的正則表達式來獲得一個URL值
- 3. 我需要一個正則表達式來得到一個URL
- 4. 創建一個URL的正則表達式來解析域名
- 5. 正則表達式來獲得Facebook的個人主頁
- 6. 需要正則表達式來獲得域名+子域名
- 7. 正則表達式從URL獲得ID
- 8. 正則表達式來獲得NVP的
- 9. 正則表達式來獲得Java的
- 10. 正則表達式來獲得。com的
- 11. 正則表達式來捕獲一切,但一個URL
- 12. 正則表達式來獲得報價
- 13. 正則表達式來獲得測量
- 14. 正則表達式來獲得Java中
- 15. 正則表達式來獲得
- 16. 正則表達式來獲得pastebin.com
- 17. 正則表達式來獲得SWIFT 2
- 18. 正則表達式來獲得utm值
- 19. 需要一個正則表達式模式來獲得括號
- 20. 正則表達式來獲得不同協議的域
- 21. 獲得來自URL數據的JavaScript正則表達式
- 22. 正則表達式來獲得一個特殊的標籤
- 23. 需要一個正則表達式來捕獲二級域(SLD)
- 24. URL的正則表達式exluding specifik域
- 25. 正則表達式來獲得圖像URL
- 26. 正則表達式得到一個表
- 27. 正則表達式來排除URL的
- 28. PHP的正則表達式來從URL
- 29. 正則表達式從一個URL中捕獲一個數字
- 30. 正則表達式來解析域名後的URL
與此類似,檢查更多的情況下: [HTTP://計算器.com/a/9891706/480021](http://stackoverflow.com/a/9891706/480021) – zyanlu 2012-03-27 14:40:49