搜尋

首頁  >  問答  >  主體

php正規截取url中網域後的內容

php程式
需要正規符合http://或https://開頭,保留域名,截取域名後的內容
例如http://www.baidu.com/aa/bbb只要http ://www.baidu.com把/aa/bbb截取掉

phpcn_u1582phpcn_u15822747 天前1043

全部回覆(5)我來回復

  • 某草草

    某草草2017-05-16 13:16:30

    不用正則也闊以啊,這個不更優雅嘛

    $url = 'http://www.baidu.com/aa/bbb';
    var_dump(parse_url($url));
    //array(3) {
         ["scheme"]=> string(4) "http" 
         ["host"]=> string(13) "www.baidu.com" 
         ["path"]=> string(7) "/aa/bbb"
        }

    回覆
    0
  • 迷茫

    迷茫2017-05-16 13:16:30

    if(strncmp('http://', $url, 7) === 0 || strncmp('https://', $url, 8)) {
      $host = substr($url, strpos($url, '/', strncmp('http://', $url, 7) ? 8 : 7));
    } else {
      $host = null;
    }

    能不用正規盡量不要用正規

    回覆
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:16:30

    這個方法很多,既然要求是正規,請看下面程式碼

        $str= 'http://www.baidu.com/aa/bbb';
        $patten = '/(http[s]?:\/\/\w*.\w*.\w*\/).*/';
        preg_match($patten, $str, $match);
    
        echo $match[1];

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:16:30

    https://www.bytelang.com/o/s/...

    參考下面運行的答案

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:16:30

    explode取得不是更好嗎
    為何還要用正規

    回覆
    0
  • 取消回覆