<ul class='clear_u'>
<li class='filetype'><img src='/filetype/rar.gif' border='0'></li>
<li class='filename1' ><a href='/down_6500284.html' target='_blank'>全能地盘小秘书+邀请小助手3.45.rar</a></li>
<li class='filesize' >1.40M</li>
<li class='lastime' >2013-1-7 21:25:55</li>
<li class='downcount' ><img src='/images/star5.gif' border=0></li>
<li class='downurl' >我想获取含有邀请这个关键词的超链接,
获取后可以变成这样
<a href='/down_6500284.html' target='_blank'>全能地盘小秘书+邀请小助手3.45.rar</a>classborder

解决方案 »

  1.   

    preg_match_all('#<a[^>]*href=[\'"]([^\'"]*)[\'"][^>]*>[^<]*邀请[^<]*</a>#isU', $str, $m);
      

  2.   

    Array ( [0] => Array ( ) [1] => Array ( ) ) 结果是这样的
      

  3.   


    <?php
    $url="http://ca178.qjwm.com/";
    $fp=@fopen($url,"r") or die("超时");
    $fcontents=file_get_contents($url);
    //print_r($fcontents);
    //'/<a(.*?)href="(.*?)"(.*?)>.*邀请.*<\/a>/i'
    preg_match_all('#<a[^>]*href=[\'"]([^\'"]*)[\'"][^>]*>[^<]*邀请[^<]*</a>#isU', $fcontents, $m);
    //$patten = '#<a.*href=[\'"](.*)[\'"].*>.*邀请.*</a>#is';
    //preg_match_all($patten, $fcontents, $matches);
    print_r($m);
    fclose($fp);
    ?>
      

  4.   

    编码问题,加上一句:
    $fcontents= iconv('gbk','utf-8',$fcontents);
      

  5.   

    '/<a(.*?)href=["\']?([^>"\' ]+)["\']?\s*[^>]*>(.*)<\/a>/si'
      

  6.   

    直接使用你的demo了,其实你加工的数组已经可以得到相应的东西了。$newM就是你所需要的东西。
    <?php
     $url="http://ca178.qjwm.com/";
     $fp=@fopen($url,"r") or die("超时");
     $fcontents=file_get_contents($url);
     //print_r($fcontents);
     //'/<a(.*?)href="(.*?)"(.*?)>.*邀请.*<\/a>/i'
     preg_match_all('#<a[^>]*href=[\'"]([^\'"]*)[\'"][^>]*>[^<]*邀请[^<]*</a>#isU', $fcontents, $m);
     //$patten = '#<a.*href=[\'"](.*)[\'"].*>.*邀请.*</a>#is';
     //preg_match_all($patten, $fcontents, $matches);
    $newM = $m[0][0];
    unset($m);
    echo $newM; 
    fclose($fp);
      

  7.   

    出现乱码是因为你的浏览器为gbk编码。用header指定下字符集。
     header("content-type:text/html;charset=utf-8");