Exemplo n.º 1
0
 /**
  * Searches for matching citizens
  * @param string $searchQuery
  * @param int $page
  * @return array
  */
 public function search($searchQuery, $page = 1)
 {
     $request = $this->getClient()->get('main/search/');
     $request->disableCookies();
     $query = $request->getQuery();
     $query->set('q', $searchQuery);
     $query->set('page', $page);
     $xs = $request->send()->xpath();
     $result = [];
     $paginator = new OldSelector\Paginator($xs);
     if ($paginator->isOutOfRange($page) && $page > 1) {
         return $result;
     }
     $rows = $xs->find('//table[@class="bestof"]')->findAll('tr[position()>1]');
     return $rows->map(function (Node $tr) {
         $href = $tr->find('td[2]/div[1]/div[2]/a/@href')->extract();
         return ['id' => (int) substr($href, strrpos($href, '/') + 1), 'name' => $tr->find('td[2]/div[1]/div[2]/a')->extract()];
     });
 }