http://community.csdn.net/Expert/PostNew.asp?room=303这个呢?取什么?参考:
====================
$str = 'http://www.google.com/
www.google.com
http://www.126.com
http://www.baidu.com/index.php
www.yahoo.com.cn
http://community.csdn.net/Expert/PostNew.asp';preg_match_all('/(?:www\.)(.*?)(?:\/|\s+)/is',$str,$m);print_r(array_unique($m[1]));

解决方案 »

  1.   

    如果RUL是
    http://community.csdn.net/Expert/PostNew.asp?room=303这个呢?取什么?
    就取 
    csdn.net
      

  2.   

    preg_match_all('/(?:(?!\/\/).*?\.)(.*?)(?:\/|\s+)/is',$str,$m);
      

  3.   

    to: foolbirdflyfirst(湖水清澈) (@Fix my lover@) 
    谢谢帮助..
    我刚开始写的是下面这个
    /[A-Za-z0-9]+\.[A-Za-z0-9]+[\/]/但是 如果我的URL是   bbs.163.com 我只想得到 163.com  能写出来么???我不知道怎么写,感觉没有什么规律....麻烦了..
      

  4.   

    o,try:
    =========
    preg_match_all('/(?:(?:http:\/\/)?\w+\.)(\w+\.\w+(?:\.\w+)?)/',$str,$m);
      

  5.   

    例子 2. 搜索匹配的 HTML 标记(greedy)<?php
    // \\2 是一个逆向引用的例子,其在 PCRE 中的含义是
    // 必须匹配正则表达式本身中第二组括号内的内容,本例中
    // 就是 ([\w]+)。因为字符串在双引号中,所以需要
    // 多加一个反斜线。
    $html = "<b>bold text</b><a href=howdy.html>click me</a>";preg_match_all ("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, $matches);for ($i=0; $i< count($matches[0]); $i++) {
      echo "matched: ".$matches[0][$i]."\n";
      echo "part 1: ".$matches[1][$i]."\n";
      echo "part 2: ".$matches[3][$i]."\n";
      echo "part 3: ".$matches[4][$i]."\n\n";
    }
    ?>  本例将输出: matched: <b>bold text</b>
    part 1: <b>
    part 2: bold text
    part 3: </b>matched: <a href=howdy.html>click me</a>
    part 1: <a href=howdy.html>
    part 2: click me
    part 3: </a>