• Как правильно спарсить phpquery?

    @ParaleX
    Ошибка в цикле foreach.
    $doc->find('.DefaultTablde') находит естественно только одну таблицу.
    Можно сделать, например, так:

    <?php 
    set_time_limit(100);
    header('Content-type: text/html; charset=utf-8');
    require '.phpQuery/phpQuery.php';
    
    function print_arr($arr){
      echo '<pre>' .print_r($arr, true). '</pre>';
    }
    
    $url  = 'http://elicense.kz/LicensingContent/SimpleSearchLicense?GlobalNumberEquality=1&NikadNumberEquality=1&RequestNikadNumberEquality=1&RequestGlobalUniqueNumberEquality=1&NumberEquality=1&SeriesEquality=1&IinEquality=1&BinEquality=1&RnnEquality=1&LicensiatEquality=1&LicensiarEquality=1&ActivityTypeEquality=256&ActivityTypeStr=%D0%BC%D0%BE%D0%BD%D1%82%D0%B0&DateIssueEquality=1&StatusEquality=1&StatusStr=0&isExtended=true%2Cfalse&lang=ru';
    $file = file_get_contents($url);
    
    
    $doc = phpQuery::newDocument($file);
    // $table = $doc->find('.DefaultTablde tr:eq(1) td:eq(1)')->text();
    // echo $table;
    foreach ($doc->find('.DefaultTablde tr') as $row) {
      $row = pq($row);
      $number = array();
      $number[] = $row->find('td:eq(1)')->text();
      $number[] = $row->find('td:eq(2)')->text();
      $number[] = $row->find('td:eq(7)')->text();
      $number[] = $row->find('td:eq(8)')->text();
      print_arr($number);
    }
    Ответ написан
    Комментировать