程序代码如下:
    <?php
     $url = "http://nitnews.nyist.net/info.php?nid=12598"; 
      $content =  file_get_contents($url);
       $pattern = '/class=artibody>([ \f\r\t\n]|.)*<\/DIV>/';
preg_match_all($pattern,$content,$result);
  print_r($result);
   ?>
本地测试无误,一到服务器上就不行了,服务器地址:http://www.youaddme.net/test3.php

解决方案 »

  1.   

    达到你的程序目的的先决条件是 allow_url_fopen = On
      

  2.   

    在服务器上测试了,可以获得网页内容,但是preg_match_all()匹配的时候就不行,不执行
    preg_match_all($pattern,$content,$result);
    这一句出现问题了
      

  3.   

    本地服务器配置 和服务器配置一样,但就是在服务器上preg_match_all函数执行时就出错了
      

  4.   

    打开的可能是数组 忘记了  转换下implode
     
    $url = "http://nitnews.nyist.net/info.php?nid=12598";  
      $content = file_get_contents($url);
      $pattern = '/class=artibody>([ \f\r\t\n]|.)*<\/DIV>/';
    preg_match_all($pattern,implode('',$content),$result);
    print_r($result);
      

  5.   


              
               preg_match_all(trim($preg),implode('', $arr), $out, PREG_PATTERN_ORDER);
               $keys = $out[1];
               $values = $out[2];
               return (array_combine($keys,$values));//将两个数组合二为一
      

  6.   

    呃 忘记了这个函数是写入字符串  这个函数不行换file这个数组的试试 
      

  7.   

    没有,根本就执行不了preg_match_all这句
      

  8.   

    谢谢诸位了,搞定了,正则表达式问题,/class=artibody>([\s\S]*)<\/DIV>/这个在服务器上能用,不过还是纳闷,我写的正则'/class=artibody>([ \f\r\t\n]|.)*<\/DIV>/',本地测试就行,为什么服务器上不行呢?