php程序需要正则匹配http://或者https://开头,保留域名,截取域名后的内容比如http://www.baidu.com/aa/bbb中只要http://www.baidu.com把/aa/bbb截取掉
不用正则也阔以啊,这个不更优雅嘛
$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获取不是更好吗为何还要用正则
不用正则也阔以啊,这个不更优雅嘛
能不用正则尽量不要用正则
这个方法很多,既然要求是正则,请看下面代码
https://www.bytelang.com/o/s/...
参考下面运行的答案
explode获取不是更好吗
为何还要用正则