前几天老加班,都快累坏了,不过加班过了,好像这两天也闲了一点,偷了点时间写了个正则表达式提取域名的实例。
$str = "http://www.baidu.com/ddd/aaa/gggggg.html?a=33%&sid=lV-RgLBX*E5wJyFr&r=35d363d1cad5eabfcd131082d275f954#";
// 表达式作用: 拆分URL里的http://,域名,URI 和参数。
// ^(http:///{2})? 表示以http://开头或者什么也不出现
// ([^///]+) "/"出现一次或多次
// ([///[a-z]+]*//.?[a-z]*)? 域名后面的部分,域名"/"后并且包含了.的所有a-z的字符
// (//?[a-z=//d%#*&-]*)? URL里的参数,从?号后开始取a-z=//d%#*&-的出现过0次或者多次字符串
$pat = "/^(http:///{2})?([^///]+)([///[a-z]+]*//.?[a-z]*)?(//?[a-z=//d%#*&-]*)?/i";
$m = array();
preg_match($pat, $str, $m);
print_r($m);