function getLinkNum($search)
{
$array = array(
"link" => array(
          "url" => "http://jxflcp.net",
        
  
                   "pattern" =>iconv('gbk', 'utf-8', '/<td width="14%" valign="middle" align="center"><strong>(.*?)</strong>            </td> /')            
        )      
);
return iconv('utf-8','gbk',patternUrl($array["$search"]['url'], $array["$search"]['pattern']));
        
}function patternUrl($url, $pattern)
{
   $html = file_get_contents($url);
   preg_match($pattern, $html, $matches);
   print_r($matches);
   //return $matches[1];
}
echo getLinkNum('link');报错:在 preg_match($pattern, $html, $matches);这个地方发生:Unknown modifier 't' 错误
  我单步调试, $pattern,$html都取到了采集的东西,但是到$matches就是null  这个报错也不知道哪里出了问题大家帮帮忙吧!!!!

解决方案 »

  1.   

    见此贴: http://topic.csdn.net/u/20080826/10/d9b833bb-2e6d-4004-a5a2-158d9eea05e3.html
    "</strong>    </td> /".....   '/'太多了,用'/\'转下义才行。
      

  2.   


    "pattern" =>iconv('gbk', 'utf-8', '/<td width="14%" valign="middle" align="center"> <strong>(.*?) <\/strong><\/td>/')
    注意转义字符
      

  3.   

    大哥们,我转义完了,
     $html这个我单步调试,是取得了我想要的那个网页的HTML代码
     $pattern 这个正则,我用调试器也没有错误 但是为什么 我的 $matches 是null呢?   他也不报错, 我单步调试, 得到的 确实也是我采集的HTML,但是一到加正则匹配就成null了