EMLOG学院

判断url是否带有http

摘要: 不知道大家是否有这样一个需求,当用户...

不知道大家是否有这样一个需求,当用户输入一个url的时候自动判断输入的url是否带有 “http” 如果用户输入的是完整的地址,也就是带http的,则不用理会,如果用户没有输入http,则自动为用户输入的url添加一个 “http”,这样的需求最典型的是在用户评论的时候输入主页地址的时候,有的用户很习惯的不输入http。

小编在D7的模板中就需要这样一个需求,因为一个url带http太长了,影响美观,所以就没有带http,但是不带http的时候用户点击超链接也是不带http的,这时候只会在本站跳转,不会做http跳转,所以小编针对这个问题写了一个小函数放入了module.php中,方便调用,有需求的朋友可以参考一下:

//判断url地址是否带有http,如果不带则自动添加
function if_http($http_url){
	$url= $http_url;
	$preg='|^http://|';
	if(!preg_match($preg,$url)) {
         $url='http://'.$url;
        }
	$tz_url=$url;
	return $tz_url;
} 

以上函数有一个参数,$http_url,也就是需要判断的url,首先把参数http_url赋值给变量url,然后接下来是一个正则匹配,匹配是否带有http,然后是一个if条件语句,如果不带http则给url添加一个http,如果带http则不理会,最后返回输出值。

另外,因为调用这个函数的时候本身没有任何输出,只是返回了结果,而不会打印出来,所以调用的时候必须echo出来才行

echo if_http('vps.lantk.com');//正确,最后打印出地址

if_http('vps.lantk.com');//错误,函数的结果不带然和输出,必须echo出来

发表评论:

评论(0)