php正则截取url中域名后的内容
phpcn_u1582
phpcn_u1582 2017-05-16 13:14:30
0
5
1086

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

phpcn_u1582
phpcn_u1582

全部回复(5)
某草草

不用正则也阔以啊,这个不更优雅嘛

$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"
    }
迷茫
if(strncmp('http://', $url, 7) === 0 || strncmp('https://', $url, 8)) {
  $host = substr($url, strpos($url, '/', strncmp('http://', $url, 7) ? 8 : 7));
} else {
  $host = null;
}

能不用正则尽量不要用正则

巴扎黑

这个方法很多,既然要求是正则,请看下面代码

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

    echo $match[1];
仅有的幸福

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

参考下面运行的答案

我想大声告诉你

explode获取不是更好吗
为何还要用正则

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板