示例#1
0
 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'));
 }
示例#2
0
 /**
  * @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;
 }
示例#3
0
 /**
  * @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;
 }