From 6eb94f1e1397ae97ed9a0e78d0edc2d04b0915a6 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 15 Jun 2020 11:58:59 +0300 Subject: better support for image srcset attributes as discussed in https://community.tt-rss.org/t/problem-with-img-srcset/3519 --- classes/diskcache.php | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'classes/diskcache.php') diff --git a/classes/diskcache.php b/classes/diskcache.php index be1aea97f..68829b8e3 100644 --- a/classes/diskcache.php +++ b/classes/diskcache.php @@ -314,22 +314,19 @@ class DiskCache { } if ($entry->hasAttribute("srcset")) { - $tokens = explode(",", $entry->getAttribute('srcset')); + $matches = RSSUtils::decode_srcset($entry->getAttribute('srcset')); - for ($i = 0; $i < count($tokens); $i++) { - $token = trim($tokens[$i]); - - list ($url, $width) = explode(" ", $token, 2); - $cached_filename = sha1($url); + for ($i = 0; $i < count($matches); $i++) { + $cached_filename = sha1($matches[$i]["url"]); if ($cache->exists($cached_filename)) { - $tokens[$i] = $cache->getUrl($cached_filename) . " " . $width; + $matches[$i]["url"] = $cache->getUrl($cached_filename); $need_saving = true; } } - $entry->setAttribute("srcset", implode(", ", $tokens)); + $entry->setAttribute("srcset", RSSUtils::encode_srcset($matches)); } } -- cgit v1.2.3