]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Helper/DownloadImages.php
Merge pull request #3165 from wallabag/it-translation-update
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Helper / DownloadImages.php
index 0d330d2a315c5f01d9d1d11022cde49c7f29ae86..54e23a052684bc87c3508fd2dbc632d15294c891 100644 (file)
@@ -54,7 +54,7 @@ class DownloadImages
         $crawler = new Crawler($html);
         $result = $crawler
             ->filterXpath('//img')
-            ->extract(array('src'));
+            ->extract(['src']);
 
         $relativePath = $this->getRelativePath($entryId);
 
@@ -66,6 +66,11 @@ class DownloadImages
                 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);
         }
 
@@ -114,7 +119,7 @@ class DownloadImages
         $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;
         }