php驗證URL是否合法的函數(shù)

字號:


    驗證URL有兩種一種是利用正則表達式來驗證URL是不是合適url規(guī)則了,另一個是利用函數(shù)來訪問指定url看看是否可正常訪問了,如果能正常訪問自然就是合法的url地址了。
    例子1
    代碼如下:
    <?php
    function isValidUrl($url) {
    $patern = '/^http[s]?:\/\/'.
    '(([0-9]{1,3}\.){3}[0-9]{1,3}'. // IP形式的URL- 199.194.52.184
    '|'. // 允許IP和DOMAIN(域名)
    '([0-9a-z_!~*\'()-]+\.)*'. // 三級域驗證- www.
    '([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.'. // 二級域驗證
    '[a-z]{2,6})'. // 頂級域驗證.com or .museum
    '(:[0-9]{1,4})?'. // 端口- :80
    '((\/\?)|'. // 如果含有文件對文件部分進行校驗
    '(\/[0-9a-zA-Z_!~\*\'\(\)\.;\?:@&=\+\$,%#-\/]*)?)$/';
    if(!preg_match($patern, $url)) {
    die( '您輸入的URL格式有問題,請檢查!');
    }
    }
    例子2
    上面的例子只是驗證url是不是正常的不代表是否可以訪問了,我們可以使用如curl函數(shù)進行方法
    代碼如下:
    $url = "";
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_NOBODY, true);
    $result = curl_exec($curl);
    if ($result !== false)
    {
    $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    if ($statusCode == 404)
    {
    echo "URL Not Exists"
    }
    else
    {
    echo "URL Exists";
    }
    }
    else
    {
    echo "URL not Exists";
    }
    除了這個函數(shù)還可以使用php的很多函數(shù)如 file、file_get_contents()、fopen函數(shù)來進行檢測了。