Beispiel #1
0
 /**
  * Return response array data
  * @return array
  */
 protected function getResponseData()
 {
     return ['status' => 'success', 'title' => $this->title, 'url' => $this->url, 'canonicalUrl' => UrlHelper::canonicalPage($this->url), 'description' => $this->description, 'image' => $this->imageUrl];
 }
 /**
  * Get image src from text
  * @param $text
  * @param $url
  * @param int $minWidth
  * @param int $minHeight
  * @param string $default
  * @return string
  */
 public static function getImageSrc($text, $url, $minWidth = 40, $minHeight = 15, $default = "")
 {
     $crawler = new Crawler($text);
     $images = $crawler->filter('img')->each(function (Crawler $node, $i) {
         return $node->attr('src');
     });
     foreach ($images as $image) {
         $pathCounter = substr_count($image, "../");
         if (!preg_match(self::$regexList['http'], $image)) {
             $imgSrc = UrlHelper::getImageUrl($pathCounter, UrlHelper::canonicalLink($image, $url));
         } else {
             $imgSrc = $image;
         }
         if ($imageSize = @getimagesize($imgSrc)) {
             $width = $imageSize[0];
             $height = $imageSize[1];
             if ($width > $minWidth && $height > $minHeight) {
                 // avoids getting very small images
                 return $imgSrc;
             }
         }
     }
     return $default;
 }