本帖最后由 changjay 于 2010-09-07 23:25:30 编辑

解决方案 »

  1.   

    $s = <<< TEXT
    abc.abc.com
    abc.com/abc
    www.abc.com.cn
    abc.com.tw
    www.abc.co.uk
    www.abc.com.jp/abc.php/id=abc
    www.cool.com
    TEXT;foreach(split("[\r\n]+", $s) as $url) {
      preg_match("#[\w-]+\.(com|net|org|gov|cc|biz|info|cn|co)\b(\.(cn|hk|uk|jp|tw))*#", $url, $match);
      echo "<p>$url <br />" . $match[0];
    }abc.abc.com 
    abc.comabc.com/abc 
    abc.comwww.abc.com.cn 
    abc.com.cnabc.com.tw 
    abc.com.twwww.abc.co.uk 
    abc.co.ukwww.abc.com.jp/abc.php/id=abc 
    abc.com.jpwww.cool.com 
    cool.com
      

  2.   

    www.net.cn 万网域名,这个解析出来就不对,类似的 www.com.cn,当然是很特殊的个例