From: Andrew Dolgov Date: Mon, 24 Dec 2012 12:14:08 +0000 (+0400) Subject: redditimgur: check for all img links X-Git-Tag: 1.7.0~132 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=dad075f0c8635c606705dca091ba29915565cf42;p=tt-rss.git redditimgur: check for all img links --- diff --git a/plugins/redditimgur/redditimgur.php b/plugins/redditimgur/redditimgur.php index 59bb4d15..17764753 100644 --- a/plugins/redditimgur/redditimgur.php +++ b/plugins/redditimgur/redditimgur.php @@ -20,39 +20,36 @@ class RedditImgur extends Plugin { function hook_article_filter($article) { if (strpos($article["link"], "reddit.com/r/") !== FALSE) { - if (strpos($article["content"], "i.imgur.com") !== FALSE) { + $doc = new DOMDocument(); + @$doc->loadHTML($article["content"]); - $doc = new DOMDocument(); - @$doc->loadHTML($article["content"]); + if ($doc) { + $xpath = new DOMXPath($doc); + $entries = $xpath->query('(//a[@href]|//img[@src])'); - if ($doc) { - $xpath = new DOMXPath($doc); - $entries = $xpath->query('(//a[@href]|//img[@src])'); + foreach ($entries as $entry) { + if ($entry->hasAttribute("href")) { + if (preg_match("/\.(jpg|jpeg|gif|png)$/i", $entry->getAttribute("href"))) { - foreach ($entries as $entry) { - if ($entry->hasAttribute("href")) { - if (preg_match("/\.(jpg|jpeg|gif|png)$/i", $entry->getAttribute("href"))) { + $img = $doc->createElement('img'); + $img->setAttribute("src", $entry->getAttribute("href")); - $img = $doc->createElement('img'); - $img->setAttribute("src", $entry->getAttribute("href")); - - $entry->parentNode->replaceChild($img, $entry); - } + $entry->parentNode->replaceChild($img, $entry); } + } - // remove tiny thumbnails - if ($entry->hasAttribute("src")) { - if ($entry->parentNode && $entry->parentNode->parentNode) { - $entry->parentNode->parentNode->removeChild($entry->parentNode); - } + // remove tiny thumbnails + if ($entry->hasAttribute("src")) { + if ($entry->parentNode && $entry->parentNode->parentNode) { + $entry->parentNode->parentNode->removeChild($entry->parentNode); } } + } - $node = $doc->getElementsByTagName('body')->item(0); + $node = $doc->getElementsByTagName('body')->item(0); - if ($node) { - $article["content"] = $doc->saveXML($node, LIBXML_NOEMPTYTAG); - } + if ($node) { + $article["content"] = $doc->saveXML($node, LIBXML_NOEMPTYTAG); } } }