Set first picture as preview picture

This commit is contained in:
nicofrand
2019-05-10 23:01:07 +02:00
parent a2b5d67560
commit 423efadefc
2 changed files with 37 additions and 12 deletions

View File

@ -30,6 +30,25 @@ class DownloadImages
$this->setFolder();
}
/**
* Process the html and extract images URLs from it.
*
* @param string $html
*
* @return string[]
*/
public static function extractImagesUrlsFromHtml($html)
{
$crawler = new Crawler($html);
$imagesCrawler = $crawler
->filterXpath('//img');
$imagesUrls = $imagesCrawler
->extract(['src']);
$imagesSrcsetUrls = self::getSrcsetUrls($imagesCrawler);
return array_unique(array_merge($imagesUrls, $imagesSrcsetUrls));
}
/**
* Process the html and extract image from it, save them to local and return the updated html.
*
@ -41,13 +60,7 @@ class DownloadImages
*/
public function processHtml($entryId, $html, $url)
{
$crawler = new Crawler($html);
$imagesCrawler = $crawler
->filterXpath('//img');
$imagesUrls = $imagesCrawler
->extract(['src']);
$imagesSrcsetUrls = $this->getSrcsetUrls($imagesCrawler);
$imagesUrls = array_unique(array_merge($imagesUrls, $imagesSrcsetUrls));
$imagesUrls = self::extractImagesUrlsFromHtml($html);
$relativePath = $this->getRelativePath($entryId);
@ -199,7 +212,7 @@ class DownloadImages
*
* @return array An array of urls
*/
private function getSrcsetUrls(Crawler $imagesCrawler)
private static function getSrcsetUrls(Crawler $imagesCrawler)
{
$urls = [];
$iterator = $imagesCrawler