From: Andrew Dolgov Date: Mon, 6 Jul 2015 20:29:00 +0000 (+0300) Subject: rewrite relative urls in readability output X-Git-Tag: 16.3~249 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=fd61fd6e7928c6fd88c6027868f096b35216d9fe;p=tt-rss.git rewrite relative urls in readability output --- diff --git a/plugins/af_readability/init.php b/plugins/af_readability/init.php index 161458c7..8e47d764 100644 --- a/plugins/af_readability/init.php +++ b/plugins/af_readability/init.php @@ -104,6 +104,26 @@ class Af_Readability extends Plugin { $r = new Readability($tmp, $article["link"]); if ($r->init()) { + + $tmpxpath = new DOMXPath($r->dom); + + $entries = $tmpxpath->query('(//a[@href]|//img[@src])'); + + foreach ($entries as $entry) { + if ($entry->hasAttribute("href")) { + $entry->setAttribute("href", + rewrite_relative_url($entry->getAttribute("href"), $article["link"])); + + } + + if ($entry->hasAttribute("src")) { + $entry->setAttribute("src", + rewrite_relative_url($entry->getAttribute("src"), $article["link"])); + + } + + } + $article["content"] = $r->articleContent->innerHTML; } } diff --git a/plugins/af_redditimgur/init.php b/plugins/af_redditimgur/init.php index 0dfd3f0c..ca451bfc 100644 --- a/plugins/af_redditimgur/init.php +++ b/plugins/af_redditimgur/init.php @@ -266,8 +266,28 @@ class Af_RedditImgur extends Plugin { $r = new Readability($tmp, $content_link->getAttribute("href")); if ($r->init()) { - $article["content"] = $r->articleContent->innerHTML . "
" . $article["content"]; + //$article["content"] = $r->articleContent->innerHTML . "
" . $article["content"]; + + $tmpxpath = new DOMXPath($r->dom); + + $entries = $tmpxpath->query('(//a[@href]|//img[@src])'); + + foreach ($entries as $entry) { + if ($entry->hasAttribute("href")) { + $entry->setAttribute("href", + rewrite_relative_url($entry->getAttribute("href"), $content_link)); + + } + if ($entry->hasAttribute("src")) { + $entry->setAttribute("src", + rewrite_relative_url($entry->getAttribute("src"), $content_link)); + + } + + } + + $article["content"] = $r->articleContent->innerHTML . "
" . $article["content"]; } }