首先介绍一下正则判断 url 的方法,其实已经很完美了哈!但是依然无法确认 url 是否有效
正则判断 url 是否正确
(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]
- 这个正则应该是网上流传的比较完美的版本了,url 里有 IP 地址、前后有汉字、又或者带参数,都能完美胜任!
但是,网址能不能访问,又或者出了其他规则的 url,可能还会有问题。
PHP 判断 url 是否有效
<?php
function is_valid_url($url){
$array = get_headers($url, 1);
if($array){
if(preg_match('/200/', $array[0])){
return true;
}else{// 地址所在服务器错误
return false;
}
}else{//地址无效
return false;
}
}
获取 url 的 header 头,可以进一步判断 url 的状态,缺点就是有一定的网络耗时 ~
但是用于表单验证或者一些对速度不是敏感的地方,足够用了 ~
🐶 你走,我不送你。你来,风雨无阻,我去接你。