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

字號(hào):


    驗(yàn)證URL有兩種一種是利用正則表達(dá)式來驗(yàn)證URL是不是合適url規(guī)則了,另一個(gè)是利用函數(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_!~*\'()-]+\.)*'. // 三級(jí)域驗(yàn)證- www.
    '([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.'. // 二級(jí)域驗(yàn)證
    '[a-z]{2,6})'. // 頂級(jí)域驗(yàn)證.com or .museum
    '(:[0-9]{1,4})?'. // 端口- :80
    '((\/\?)|'. // 如果含有文件對(duì)文件部分進(jìn)行校驗(yàn)
    '(\/[0-9a-zA-Z_!~\*\'\(\)\.;\?:@&=\+\$,%#-\/]*)?)$/';
    if(!preg_match($patern, $url)) {
    die( '您輸入的URL格式有問題,請(qǐng)檢查!');
    }
    }
    例子2
    上面的例子只是驗(yàn)證url是不是正常的不代表是否可以訪問了,我們可以使用如curl函數(shù)進(jìn)行方法
    代碼如下:
    $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";
    }
    除了這個(gè)函數(shù)還可以使用php的很多函數(shù)如 file、file_get_contents()、fopen函數(shù)來進(jìn)行檢測(cè)了。