首頁 >後端開發 >php教程 >php正規表示式符合URL中的域名

php正規表示式符合URL中的域名

WBOY
WBOY原創
2016-07-25 09:07:272187瀏覽
  1. $search = '~^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(?([^#]*))?(#(.*))?~i';
  2. $url = 'http://www.php.net/pub/ietf/uri/#Related';
  3. $url = trim($url);
  4. preg_match_all($search, $url ,$rr);
  5. printf("

    输出URL数据为:

    %s
    n",var_export( $rr ,TRUE));

  6. /*

  7. 各分组如下
  8. = http:
  9. = http
  10. = //www.php.net
  11. = www.php.net
  12. = /pub/ietf/uri/
  13. =
  14. =
  15. = #Related
  16. = Related
  17. */
  18. ?>

复制代码

这里提供另一个简洁的代码:

  1. // 从 URL 中取得主机名
  2. preg_match("/^(http://)?([^/]+)/i", "http://www.php.net/index.html", $matches);
  3. $host = $matches[2];
  4. // 从主机名中取得后面两段
  5. preg_match("/[^./]+.[^./]+$/", $host, $matches);
  6. echo "domain name is: {$matches[0]}n";
  7. ?>
复制代码

执行后输出:domain name is: php.net



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn