PHP正则匹配网址(URL)中主域名写法
来源:互联网 发布:淘宝客服忙不忙 编辑:程序博客网 时间:2024/05/01 06:06
在web开发中很多时候要获取一域名信息,特别是在一些数据分析采集过程中;域名信息多样,有主域名,有二级域名、三级域名、、、有相似类型的如:.com、.com.cn,如何正确分析出字符中网址url的主域名了?下面是是个人工作中专结出来的:
有一个字符串,我们要匹配出其中的包含的主域名信息,举例如下:
$url='天气预报15天查询网址:http://tqybw.net/,请在家收藏';
preg_match('/[\w][\w-]*\.(?:com\.cn|com|cn|co|net|org|gov|cc|biz|info)(\/|$)/isU', $url, $domain);
echo $domain[0];
上面将输出:tqybw.net
注意:正则中(?:com\.cn|com|cn|co|net|org|gov|cc|biz|info)域名后辍较长的要放在前面,如:com.cn应放在.com、.cn的前面否则容易匹配出错;
[\w][\w-]*\.
这个应该能明白吧,就匙匹配以字母、数字、下划线开头,并且后面为字母、数字、下划线或减号加上点组成d字符串
其实最好应该匙[a-z0-9][\a-z0-9-]*\. 因为合法d域名只能以字母、数字开头,后面可以用减号连接,但匙不允许有下划线。
这个应该能明白吧,就匙匹配以字母、数字、下划线开头,并且后面为字母、数字、下划线或减号加上点组成d字符串
其实最好应该匙[a-z0-9][\a-z0-9-]*\. 因为合法d域名只能以字母、数字开头,后面可以用减号连接,但匙不允许有下划线。
(?:com\.cn|com|cn|co|net|org|gov|cc|biz|info)(\/|$) 域名类型
(\/|$) 表示结尾为域名类型加上/或者域名类型的字符串
例如下面两种情况:
http://tqybw.net/ditu/
http://tqybw.net
(\/|$) 表示结尾为域名类型加上/或者域名类型的字符串
例如下面两种情况:
http://tqybw.net/ditu/
http://tqybw.net
复杂二级域名匹配:
有一个二级域名:http://15tianqi.xiamen.gov.cn.tqybw.net/,其二级域名名称(15tianqi.xiamen.gov.cn)本身就是符合域名规则,但我们要匹配出直实域名tqybw.net,是怎么写了?
其实写法是一样的,因为这个正则是从末端开始匹配的!- PHP正则匹配网址(URL)中主域名写法
- PHP正则匹配网址(URL)中主域名写法
- 正则表达式匹配域名、网址、url
- php: 正则中匹配$符号的写法
- php url正则匹配
- PHP正则表达式从url中取得域名
- PHP正则表达式从url中取得域名
- 正则表达式 匹配URL或者网址
- 正则表达式匹配URL或者网址
- 正则表达式匹配URL或者网址
- javascript 正则匹配url的域名、文件名字
- 使用正则表达式来匹配URL或者网址
- js最强的匹配网址-url的正则表达式:匹配www,http开头的一切网址
- 匹配URL或者网址
- PHP中关于正则表达式匹配任意字符(包括换行符)的写法
- PHP 从 URL 中提取域名 函数
- 匹配域名正则
- 根域名匹配正则
- HDU 4336 Card Collector 数学期望(容斥原理)
- GNOME/KDE
- 关于计算Java程序运行时间
- JAVA之包装类Byte详解
- 操作excel比较
- PHP正则匹配网址(URL)中主域名写法
- C#入门教程
- 个人代码小结
- poj 2779 Mr. Young's Picture Permutations
- 关于移植qemu的一些想法吧
- struts2+ajax+DB 图片上传
- 提高你的Java代码质量吧:性能考虑,数组是首选
- 数据流处理
- 本地计算机上的 MSSQLSERVER 服务启动后又停止了 问题分析