驗證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函數來進行檢測了。