php验证url地址是否合法代码实例

发布时间:2020-09-12编辑:脚本学堂
有关php验证url地址是否合法的方法,利用正则表达式来验证url地址是否有效,利用curl函数来访问指定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格式有问题,请检查!');
}
}

以上例子只是验证url是否正常,未验证是否可以访问,可以使用如curl函数判断:
 

复制代码 代码示例:
$url = "http://www.jb200.com";
$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函数,也可以进行url地址合法性与能否访问的验证。