求一个正则截取中间的内容例子
要能匹配例子:
www.baidu.com 顶级域名
ww1.baidu.com 二级域名
www.ss.baidu.com 这样形式的二级域名
以及com,net,cn,info这4个后缀提取这些例子的baidu字符串

解决方案 »

  1.   

    $s=<<<html
    www.baidu.com 顶级域名
    ww1.baidu.com 二级域名
    www.ss.baidu.com 这样形式的二级域名
    html;
    preg_match_all('/\w+(?=\.com|\.net|\.cn|\.info)/isU',$s,$m);
    print_r($m[0]);
    Array
    (
        [0] => baidu
        [1] => baidu
        [2] => baidu
    )
      

  2.   

    [User:root Time:21:25:10 Path:/home/liangdong/php]$ php preg.php 
    Array
    (
        [0] => baidu
        [1] => baidu
        [2] => baidu
        [3] => baidu
        [4] => baidu
        [5] => baidu
    )
    [User:root Time:21:25:10 Path:/home/liangdong/php]$ cat preg.php 
    <?php
    $url = "www.baidu.com;ww1.baidu.com;www.ss.baidu.com;baidu.com;baidu.cn;baidu.info";
    $nmatches = preg_match_all('/(\w*)\.(com|net|cn|info)/i', $url, $matches);
    if ($nmatches) {
            print_r($matches[1]);
    }
    ?>