萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php驗證URL是否合法的函數

php驗證URL是否合法的函數

   驗證URL有兩種一種是利用正則表達式來驗證URL是不是合適url規則了,另一個是利用函數來訪問指定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函數進行方法

代碼如下  

$url = "http://www.45it.net ";
$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";
}

  除了這個函數還可以使用php的很多函數如 file、file_get_contents()、fopen函數來進行檢測了。

copyright © 萬盛學電腦網 all rights reserved