diff options
author | Nicolas LÅ“uillet <nicolas@loeuillet.org> | 2017-06-02 09:12:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-02 09:12:11 +0200 |
commit | 14b8a7c950147d32d7c9782832b87bf2b18b4fd7 (patch) | |
tree | 927d63db163eaa57bfeb16500f1c826601214b47 /src | |
parent | 590151680538ea1edfef9053da476cd92c6944c4 (diff) | |
parent | 9bf7752f73ebfbfea0adbdb0d562a3cfa85039f3 (diff) | |
download | wallabag-14b8a7c950147d32d7c9782832b87bf2b18b4fd7.tar.gz wallabag-14b8a7c950147d32d7c9782832b87bf2b18b4fd7.tar.zst wallabag-14b8a7c950147d32d7c9782832b87bf2b18b4fd7.zip |
Merge pull request #3176 from wallabag/fix-image-download
Replace images with & in url
Diffstat (limited to 'src')
-rw-r--r-- | src/Wallabag/CoreBundle/Helper/DownloadImages.php | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/Wallabag/CoreBundle/Helper/DownloadImages.php b/src/Wallabag/CoreBundle/Helper/DownloadImages.php index 0d330d2a..54e23a05 100644 --- a/src/Wallabag/CoreBundle/Helper/DownloadImages.php +++ b/src/Wallabag/CoreBundle/Helper/DownloadImages.php | |||
@@ -54,7 +54,7 @@ class DownloadImages | |||
54 | $crawler = new Crawler($html); | 54 | $crawler = new Crawler($html); |
55 | $result = $crawler | 55 | $result = $crawler |
56 | ->filterXpath('//img') | 56 | ->filterXpath('//img') |
57 | ->extract(array('src')); | 57 | ->extract(['src']); |
58 | 58 | ||
59 | $relativePath = $this->getRelativePath($entryId); | 59 | $relativePath = $this->getRelativePath($entryId); |
60 | 60 | ||
@@ -66,6 +66,11 @@ class DownloadImages | |||
66 | continue; | 66 | continue; |
67 | } | 67 | } |
68 | 68 | ||
69 | // if image contains "&" and we can't find it in the html it might be because it's encoded as & | ||
70 | if (false !== stripos($image, '&') && false === stripos($html, $image)) { | ||
71 | $image = str_replace('&', '&', $image); | ||
72 | } | ||
73 | |||
69 | $html = str_replace($image, $imagePath, $html); | 74 | $html = str_replace($image, $imagePath, $html); |
70 | } | 75 | } |
71 | 76 | ||
@@ -114,7 +119,7 @@ class DownloadImages | |||
114 | $ext = $this->mimeGuesser->guess($res->getHeader('content-type')); | 119 | $ext = $this->mimeGuesser->guess($res->getHeader('content-type')); |
115 | $this->logger->debug('DownloadImages: Checking extension', ['ext' => $ext, 'header' => $res->getHeader('content-type')]); | 120 | $this->logger->debug('DownloadImages: Checking extension', ['ext' => $ext, 'header' => $res->getHeader('content-type')]); |
116 | if (!in_array($ext, ['jpeg', 'jpg', 'gif', 'png'], true)) { | 121 | if (!in_array($ext, ['jpeg', 'jpg', 'gif', 'png'], true)) { |
117 | $this->logger->error('DownloadImages: Processed image with not allowed extension. Skipping '.$imagePath); | 122 | $this->logger->error('DownloadImages: Processed image with not allowed extension. Skipping: '.$imagePath); |
118 | 123 | ||
119 | return false; | 124 | return false; |
120 | } | 125 | } |