在php中处理url地址,一般都用到获取url地址页面的内容。但为了减少一些无意义的逻辑请求,我们需要对url地址的合法性进行判断,所以这篇文章我们就来说一说在php中如何判断一个url地址的合法性。

php正规判断url地址的合法性

php代码:

函数:

<?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地址';
    }
}
?>

函数调用:

<?php
//静态的url地址
$url = 'http://www.feiniaomy.com';
//带有参数的url地址
$url2 = 'http://www.feiniaomy.com/index.php?s=4';
//项级域名
$url3 = 'http://feiniaomy.com/';
//https地址
$url4 = 'https://www.feiniaomy.com/';
is_url($url);
//正确的url地址
is_url($url2);
//正确的url地址
is_url($url3);
//正确的url地址
is_url($url4);
//正确的url地址
?>

php filter_var() 函数判断url地址的合法性

php的内置函数 filter_var() ,可以判断一个url地址的合法性。

php代码:

函数:

<?php
function is_url_2($url){
    if (filter_var($url, FILTER_VALIDATE_URL) !== false) {
        echo 'url地址正确';
    }else{
        echo 'url地址不正确';
    }
}
?>

函数调用:

<?php
//静态的url地址
$url = 'http://www.feiniaomy.com';
//带有参数的url地址
$url2 = 'http://www.feiniaomy.com/index.php?s=4';
//项级域名
$url3 = 'http://feiniaomy.com/';
//https地址
$url4 = 'https://www.feiniaomy.com/';
is_url_2($url);
//正确的url地址
is_url_2($url2);
//正确的url地址
is_url_2($url3);
//正确的url地址
is_url_2($url4);
//正确的url地址
?>