public function testContains() { $this->assertTrue(\pmill\Extract\Helper\StringHelper::contains($this->testString, 'amet')); $this->assertTrue(\pmill\Extract\Helper\StringHelper::contains($this->testString, 'amet magna')); $this->assertTrue(\pmill\Extract\Helper\StringHelper::contains($this->testString, 'posuere')); $this->assertTrue(\pmill\Extract\Helper\StringHelper::contains($this->testString, 'pis pos')); $this->assertFalse(\pmill\Extract\Helper\StringHelper::contains($this->testString, 'turpisn')); $this->assertFalse(\pmill\Extract\Helper\StringHelper::contains($this->testString, 'auguefen')); }
/** * @param string $url * @return string */ public function findProvider($url) { $providerClassName = $this->fallbackProviderName; foreach ($this->providers as $domain => $className) { if (StringHelper::contains($url, $domain)) { $providerClassName = $className; break; } } return $providerClassName; }
/** * @param Crawler $crawler * @return ExtractedAlbum */ public function extract(Crawler $crawler) { if (StringHelper::contains($this->url, '/gallery/')) { if (is_null($this->pageFetcher)) { $this->pageFetcher = new CurlPageFetcher(); } $html = $this->pageFetcher->fetch(str_replace('/gallery/', '/a/', $this->url)); $crawler = new Crawler($html); } $album = new ExtractedAlbum(); if ($crawler->filter('.album-description h1')->count() > 0) { $album->setTitle($crawler->filter('.album-description h1')->text()); } if ($crawler->filter('.album-description p')->count() > 0) { $album->setDescription($crawler->filter('.album-description p')->text()); } $album->setImages($this->extractImages($crawler)); $album->setStats($this->extractStats($crawler)); $album->setOwner($this->extractOwner($crawler)); return $album; }