Пример #1
0
 public function testGetKeywords()
 {
     $meta = $this->meta->getKeywords();
     $this->assertInstanceOf('\\Cekurte\\WebScrapingBundle\\Selector\\SelectorInterface', $meta);
     $this->assertEquals('meta[name="keywords"]', $meta->getSelectorKey());
     $this->assertEquals(SelectorBuilder::NODE_ATTR, $meta->getSelectorType());
     $this->assertEquals('content', $meta->getSelectorAttr());
 }
Пример #2
0
 /**
  * @inheritdoc
  */
 public function getKeywords()
 {
     $content = SelectorResolver::create()->resolve($this->crawler, $this->selector->getKeywords())->getSingleResult();
     if (empty($content)) {
         return array();
     }
     if (strpos($content, ',') !== false) {
         $keywords = explode(',', $content);
     } elseif (substr_count($content, ' ') > 4) {
         $keywords = explode(' ', $content);
     } else {
         $keywords = array($content);
     }
     array_walk($keywords, function ($item, $key) use(&$keywords) {
         if (is_numeric(trim($item))) {
             unset($keywords[$key]);
         } else {
             $item = trim(strtolower($item));
         }
     });
     return array_unique($keywords);
 }