Q
Q
Qairat2017-01-30 18:12:59
PHP
Qairat, 2017-01-30 18:12:59

How to parse phpquery correctly?

Hello!
here is my parser code from the site:

<?php 
header('Content-type: text/html; charset=utf-8');
require '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') as $row) {
  $row = pq($row);
  $number = $row->find('tr:eq(1) td:eq(1)')->html();
  print_arr($number);
}

Display only #0000178
I need to display the marked values ​​in the figure.
a827785c2d304327b5db523c712c6935.JPG
How to do? Help....

Answer the question

In order to leave comments, you need to log in

1 answer(s)
P
ParaleX, 2017-02-09
@ParaleX

Error in foreach loop.
$doc->find('.DefaultTablde') naturally finds only one table.
You can do, for example, like this:

<?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);
}

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question