在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://xswdd.cn';
//帶有參數的url地址
$url2 = 'http://xswdd.cn/index.php?s=4';
//項級域名
$url3 = 'http://feiniaomy.com/';
//https地址
$url4 = 'http://xswdd.cn/';
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://xswdd.cn';
//帶有參數的url地址
$url2 = 'http://xswdd.cn/index.php?s=4';
//項級域名
$url3 = 'http://feiniaomy.com/';
//https地址
$url4 = 'http://xswdd.cn/';
is_url_2($url);
//正確的url地址
is_url_2($url2);
//正確的url地址
is_url_2($url3);
//正確的url地址
is_url_2($url4);
//正確的url地址
?>