$crawler = new Crawler($html);
$result = $crawler
->filterXpath('//img')
- ->extract(array('src'));
+ ->extract(['src']);
$relativePath = $this->getRelativePath($entryId);
continue;
}
+ // if image contains "&" and we can't find it in the html it might be because it's encoded as &
+ if (false !== stripos($image, '&') && false === stripos($html, $image)) {
+ $image = str_replace('&', '&', $image);
+ }
+
$html = str_replace($image, $imagePath, $html);
}
$ext = $this->mimeGuesser->guess($res->getHeader('content-type'));
$this->logger->debug('DownloadImages: Checking extension', ['ext' => $ext, 'header' => $res->getHeader('content-type')]);
if (!in_array($ext, ['jpeg', 'jpg', 'gif', 'png'], true)) {
- $this->logger->error('DownloadImages: Processed image with not allowed extension. Skipping '.$imagePath);
+ $this->logger->error('DownloadImages: Processed image with not allowed extension. Skipping: '.$imagePath);
return false;
}
$this->logger->debug('DownloadImages: Re-creating jpg');
break;
case 'png':
+ imagealphablending($im, false);
+ imagesavealpha($im, true);
imagepng($im, $localPath, ceil(self::REGENERATE_PICTURES_QUALITY / 100 * 9));
$this->logger->debug('DownloadImages: Re-creating png');
}