本帖最后由 possuit63 于 2012-06-16 07:37:45 编辑

解决方案 »

  1.   

    <table[.\s\S]*?>[.\s\S]*?<\/table>
      

  2.   


    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="diaryTable">       <tr class="Table-top">                 <td width="13%">违法日期</td>                 <td width="26%">违法地点</td>                 <td width="23%">违法行为</td>                 <td width="10%">罚款金额(元)</td>                 <td width="12%">处理状态</td>               </tr>                               <tr >                <td align="center" colspan="5">                                 没有该机动车相关违法信息!                                </td>            </tr>                </table>
    其实随便乱填一个就可以了
      

  3.   

    $s=file_get_contents('http://www.tzga.gov.cn:6080/wscgs/vio.do?act=veh_vio_query');
    preg_match_all('/<table[^>]+>(.*)<\/table>/isU',$s,$m);
    print_r($m[1]);
      

  4.   


    可以获取但是页面乱码并且不知为何内容多出了
    Array
    (
        [0] => 
      

  5.   

    抱歉,估计是记事本编码问题,没有乱码,但是Array
    (
        [0] => 不知为何多出这个
      

  6.   

    好好看看preg_match_all 函数的帮助.
      

  7.   


    如果是preg_match时没有以上输出,但是只能匹配一个,如果需要全部匹配又不要输出
    Array
    (
    [0] =>
    应该怎么做?
      

  8.   

    就是能否过滤掉Array
    (
    [0] =>之类的字符?
      

  9.   

    www.msheji.com去这里看看把。。
    $contents = str_replace("\n",'',$contents) ;
    preg_match("/\<table (.*?)\>(.*?)\<\/table\>/i",$contents,$newcode); 
      

  10.   

    www.msheji.com