/** * @param bool $includeShowtimes * * @return array|null */ public function parseMovies($includeShowtimes = true) { $movies = []; $movieDivs = $this->crawler->filter('#movie_results .movie'); $count = $movieDivs->count(); if ($count == 0) { return null; } $movies = $movieDivs->each(function (Crawler $movieDiv, $i) use($includeShowtimes) { $resultItemParser = new ResultItemParser($movieDiv); $movie = $resultItemParser->parseResultMovieItem(); if ($movie == null) { return; } $movieInfoLinks = $movieDiv->filter('.info a'); if (count($movieInfoLinks) > 0) { $imdbLink = $movieInfoLinks->last(); if ($imdbLink != null) { $movie->setImdbLink(ParseHelper::getParamFromLink($imdbLink->attr('href'), 'q')); } } if ($includeShowtimes) { $movie->setShowtimeInfo($this->parseShowtimeInfo($movieDiv)); } return $movie; }); return $movies; }
/** * Parses the Movies from the result div. * * @param bool $includeShowtimes * * @return array|null */ public function parseMovies($includeShowtimes = true) { $movieDivs = $this->crawler->filter('#movie_results .movie'); $count = $movieDivs->count(); if ($count == 0) { return null; } if ($count = 1) { $justOneMovieFound = true; } $movies = $movieDivs->each(function (Crawler $movieDiv, $i) use($includeShowtimes, $justOneMovieFound) { $resultItemParser = new ResultItemParser($movieDiv); if ($justOneMovieFound) { //extract url with mid from $firstLeftNavLink = $this->getFirstLeftNavLink(); $fallbackUrl = $firstLeftNavLink->attr('href'); $movie = $resultItemParser->parseResultMovieItem($fallbackUrl); } else { $movie = $resultItemParser->parseResultMovieItem(); } if ($movie == null) { return null; } $movieInfoLinks = $movieDiv->filter('.info a'); if (count($movieInfoLinks) > 0) { $imdbLink = $movieInfoLinks->last(); if ($imdbLink != null) { $movie->setImdbLink(ParseHelper::getParamFromLink($imdbLink->attr('href'), 'q')); } } if ($includeShowtimes) { $movie->setShowtimeInfo($this->parseShowtimeInfo($movieDiv)); } return $movie; }); return $movies; }