diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2024-11-26 20:08:44 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2024-11-26 20:08:44 +0300 |
| commit | b045da0e5e353e149b2df966028c6b22c13ebe9d (patch) | |
| tree | 749cb8e63c74a4831879a359ce6295e8ffca775a | |
| parent | 8c42b3a3bfdef92fc1232c01cc466457d1f82036 (diff) | |
add af_comics filter for The Oatmeal
| -rw-r--r-- | plugins/af_comics/filters/af_comics_theoatmeal.php | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/plugins/af_comics/filters/af_comics_theoatmeal.php b/plugins/af_comics/filters/af_comics_theoatmeal.php new file mode 100644 index 000000000..4dd4003c8 --- /dev/null +++ b/plugins/af_comics/filters/af_comics_theoatmeal.php @@ -0,0 +1,31 @@ +<?php +class Af_Comics_TheOatmeal extends Af_ComicFilter { + + function supported() { + return array("The Oatmeal"); + } + + function process(&$article) { + if (str_contains($article["guid"], "theoatmeal.com")) { + $res = UrlHelper::fetch([ + 'url' => $article['link'], + 'useragent' => 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)', + ]); + + $doc = new DOMDocument(); + + if ($res && $doc->loadHTML($res)) { + $xpath = new DOMXPath($doc); + $basenode = $xpath->query('//div[@id="comic"]//img')->item(0); + + if ($basenode) { + $article["content"] = $doc->saveHTML($basenode); + } + } + + return true; + } + + return false; + } +} |