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格式有问题,请检查!');
}
}
以上例子只是验证url是否正常,未验证是否可以访问,可以使用如curl函数判断:
除此函数,php中file、file_get_contents()、fopen函数,也可以进行url地址合法性与能否访问的验证。