3楼的大哥, 你那个正则 还是null 空的

解决方案 »

  1.   

    试试看在正则表达式的末尾加上/mi,这表示多行查找,以及忽略大小写。
    <?php 
    function getLinkNum($search) 

    $array = array( 
    "link" => array( 
              "url" => "http://jxflcp.net", 
                        
            "pattern" =>iconv('gbk', 'utf-8', '/双色球              <\/strong>            <\/td> 
                <td width=\"15%\" valign=\"middle\" align=\"center\"> 
                  <div align=\"middle\"> 
                    第(.*)期/mi')            
                      )     
    ); 
            return patternUrl($array["$search"]['url'],$array["$search"]['pattern']); 
    } function patternUrl($url, $pattern) 

      $html = file_get_contents($url); 
      // print $html; 
      preg_match($pattern, $html, $matches); 
      //print_r($matches); 
      print_r($matches); 

    echo getLinkNum('link'); 
    ?> 
      

  2.   

    加了mi还是null  难道 采集的页面动了手脚?
      

  3.   

    问题 我好象找到了 
     就在这个 双色球              </strong>            </td> 
                <td width="15%" valign="middle" align="center"> 
                  <div align="middle"> 
                    第2008112期              </div>            </td> 问题 就在这些长长的 空格 里面。   如果我页面上采集,没有这些长空格的信息,都行。  这个长空格 怎么解决?  各位大哥们
      

  4.   

                  
            "pattern" =>iconv('gbk', 'utf-8', '/双色球\s*<\/strong>\s*<\/td> 
                <td width=\"15%\" valign=\"middle\" align=\"center\"> 
                  <div align=\"middle\">\s* 
                    第(.*)期/mi')            
                      )\s*     
    ); 
      

  5.   

    除了/m意外,还需要/s,即加上/msi。不过加了以后会从第一个 “双色球” 开始匹配,还是不对。 正则我也改了下,看代码:<?php 
    function getLinkNum($search) 

    $array = array( 
    "link" => array( 
              "url" => "http://jxflcp.net", 
    //        "pattern" => "/双色球\s*<\/strong>            <\/td> \n            <td width=\"15%\" valign=\"middle\" align=\"center\"> \n              <div align=\"middle\"> \n                第(.*)期/mi"
            "pattern" => "/双色球.{1,200}第([0-9]*)期/smi"
    )); 
            return patternUrl($array["$search"]['url'],$array["$search"]['pattern']); 
    } function patternUrl($url, $pattern) 

      $html = iconv("gbk", "utf-8", file_get_contents($url)); 
      //echo $pattern;
      //print $html; 
      preg_match($pattern, $html, $matches); 
      //print_r($matches); 
      print_r($matches); 

    echo getLinkNum('link'); 
    ?> 
      

  6.   

    另外,我的代码是用的utf-8编码。  你做的时候如果用的是gbk,则iconv的部分可以去除。
      

  7.   

    谢谢 microant  搞定了