/** * 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; }