搜索

首页  >  问答  >  正文

php正则截取url中域名后的内容

php程序
需要正则匹配http://或者https://开头,保留域名,截取域名后的内容
比如http://www.baidu.com/aa/bbb中只要http://www.baidu.com把/aa/bbb截取掉

phpcn_u1582phpcn_u15822813 天前1107

全部回复(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
  • 取消回复