解决方案 »

  1.   

    $url = "http://61.160.69.90:8081/wsdg_wuxi/ctsBusSearch.do?formname=ctsBusSearchForm";
    $post_data = array (
      "dst_name" => '北京',
      "drive_date" => '2015-01-20',
      "code" => '320200021',
      "event" => '',
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $str = curl_exec($ch);
    curl_close($ch);preg_match('/<DIV class=bus_list_box>(.+?)<\/div/is', $str, $m);
    preg_match_all('/t[hd]>(.+?)<\/t[hd]/i', strip_tags($m[1], '<th><td>'), $m);
    list($k, $v) = array_chunk($m[1], 9);
    print_r(array_combine($k, $v));
    Array
    (
        [车次] => <td>WP0010
        [乘车/到达站] => 无锡站北京
        [终点站] => 北京
        [发车日期] => 2015-01-20
        [发时] => 17:10
        [等级] => 宇通[卧]
        [参考运时] => 16
        [座位数] => 38
        [票价] =>  320.0
    )
      

  2.   

    array_chunk($m[1], 9) 得到的是一个二维数组
    其中第一个元素表示了各列的含义,其余的表示每一班次的数据至于你要取哪些列,就是你的事情了如果我告诉你 发车日期 在第4列的话,你还不能取出每个班次的 发车日期,那就不要再当程序员了
      

  3.   


    $url = "http://61.160.69.90:8081/wsdg_wuxi/ctsBusSearch.do?formname=ctsBusSearchForm";
    $post_data = array (
      "dst_name" => '北京',
      "drive_date" => '2015-01-20',
      "code" => '320200021',
      "event" => '',
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $str = curl_exec($ch);
    curl_close($ch);
     
    preg_match('/<DIV class=bus_list_box>(.+?)<\/div/is', $str, $m);
    preg_match_all('/t[hd]>(.+?)<\/t[hd]/i', strip_tags($m[1], '<th><td>'), $m);
    list($k, $v) = array_chunk($m[1], 9);
    echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
    $result = array_combine($k, $v);unset($result['等级'],$result['乘车/到达站']); // 去除print_r($result);