遗忘悠剑

🍀 记录精彩的程序人生 开始使用

比 php 正则判断是否为 url 更精准的 php 判断 url 是否有效的方案

首先介绍一下正则判断 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 的状态,缺点就是有一定的网络耗时 ~
但是用于表单验证或者一些对速度不是敏感的地方,足够用了 ~


🐶 你走,我不送你。你来,风雨无阻,我去接你。

评论
留下你的脚步