php获取url地址中的域名几种方法
发布:smiling 来源: PHP粉丝网 添加日期:2015-04-09 14:31:58 浏览: 评论:0
在由变量传过来的一个完整的url地址,我们需要取得地址中的域名,这里可以使用parse_url函数来处理,当然有用户使用正则来解决都是可以,下面看两个例子.
方法1:php自带函数(parse_url),代码如下:
- $Url=’http://www.phpfensi.com/index.html’;
- $tempu=parse_url($Url);
- $message=$tempu['host'];
- echo $message;
- //输出结果就是 www.phpfensi.com
方法2:自定义函数,代码如下:
- function get_domain($url)
- {
- $pattern = "/[/w-]+/.(com|net|org|gov|biz|com.tw|com.hk|com.ru|net.tw|net.hk|net.ru|info|cn|com.cn|net.cn|org.cn|gov.cn|mobi|name|sh|ac|la|travel|tm|us|cc|tv|jobs|asia|hn|lc|hk|bz|com.hk|ws|tel|io|tw|ac.cn|bj.cn|sh.cn|tj.cn|cq.cn|he.cn|sx.cn|nm.cn|ln.cn|jl.cn|hl.cn|js.cn|zj.cn|ah.cn|fj.cn|jx.cn|sd.cn|ha.cn|hb.cn|hn.cn|gd.cn|gx.cn|hi.cn|sc.cn|gz.cn|yn.cn|xz.cn|sn.cn|gs.cn|qh.cn|nx.cn|xj.cn|tw.cn|hk.cn|mo.cn|org.hk|is|edu|mil|au|jp|int|kr|de|vc|ag|in|me|edu.cn|co.kr|gd|vg|co.uk|be|sg|it|ro|com.mo)(/.(cn|hk))*/";
- preg_match($pattern, $url, $matches);
- if(count($matches) > 0)
- {
- return $matches[0];
- }else{
- $rs = parse_url($url);
- $main_url = $rs["host"];
- if(!strcmp(long2ip(sprintf("%u",ip2long($main_url))),$main_url))
- {
- return $main_url;
- }else{
- $arr = explode(".",$main_url);
- $count=count($arr);
- $endArr = array("com","net","org");//com.cn net.cn 等情况
- if (in_array($arr[$count-2],$endArr))
- {
- $domain = $arr[$count-3].".".$arr[$count-2].".".$arr[$count-1];
- }else{
- $domain = $arr[$count-2].".".$arr[$count-1];
- }
- return $domain;
- }
- }
- }
Tags: php获取url php获取域名
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)