MENU

PHP判断URL的合法性,是否为URL链接

February 27, 2025 • 默认分类

方法 一:使用正则表达式

<?php
function is_url($url){
    $r = "/http[s]?:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is";
    if(preg_match($r,$url)){
        //return true;
        echo '正确的 url 地址';
    }else{
        //return false;
        echo '不是合法的 url 地址';
    }
}
?>

方案二:使用内置函数 filter_var () 推荐

<?php
function is_url_2($url){
    if (filter_var($url, FILTER_VALIDATE_URL) === false) {
        return false;
    }
    // 补充协议和域名验证
    $parsed = parse_url($sanitized);
    return isset($parsed['scheme'], $parsed['host']) 
           && in_array(strtolower($parsed['scheme']), ['http', 'https']);

}
?>