我想截取百度收录数量,有下面的字符串,请问如何才能匹配出100,000,000呢?我对正则汉字处理不太熟:找到相关结果数100,000,000个

解决方案 »

  1.   

    preg_match('/找到相关结果数([\d,]+)个/s',$s,$m);
    echo $m[1];
      

  2.   

    不好使啊,我把源码贴出来你看看吧,不知道哪儿出现错误了
    <?php
    /*
    抓取百度收录代码
    */
    function baidu($s){
      $BaiduUrl='http://www.baidu.com/s?wd=site:'.$s;
      //$site=file_get_contents($baidu);
      //$site=iconv("gb2312", "UTF-8", $site);
      $baidu_site=curl_init();
      curl_setopt($baidu_site,CURLOPT_URL,$BaiduUrl);
      curl_setopt($baidu_site,CURLOPT_HEADER,false);
      curl_setopt($baidu_site,CURLOPT_TIMEOUT,5);
      curl_setopt($baidu_site,CURLOPT_RETURNTRANSFER,true);
      $orders = curl_exec($baidu_site);
      curl_close($baidu_site);
      //echo $orders;
      $BaiduContent=iconv("UTF-8","GB2312",$orders); /*因为百度为GB2312编码*/
      $BaiduMode='/找到相关结果数([\d,]+)个/s';
      preg_match($BaiduMode,$BaiduContent,$BaiduArr);
      print_r($BaiduArr);
    }echo baidu('baidu.com'); //获取好主题在百度中的收录数量?>
      

  3.   


    $BaiduMode='/\d+,(\d+,)*\d{3}/';
    $BaiduContent="找到相关结果数100,000,000个";
    preg_match($BaiduMode,$BaiduContent,$BaiduArr);
    echo $BaiduArr[0];
    /*
    string(11) "100,000,000"
    */
      

  4.   

    baidu 是utf-8编码,不用转了。你就用utf-8就行了。
      

  5.   

    嗯,谢谢两位,whg4585的办法好灵活