diff --git a/bridges/ForGifsBridge.php b/bridges/ForGifsBridge.php new file mode 100755 index 00000000..9e76017c --- /dev/null +++ b/bridges/ForGifsBridge.php @@ -0,0 +1,41 @@ +collectExpandableDatas('https://forgifs.com/gallery/srss/7'); + } + + protected function parseItem($feedItem) { + + $item = parent::parseItem($feedItem); + + $content = str_get_html($item['content']); + $img = $content->find('img', 0); + $poster = $img->src; + + // The actual gif is the same path but its id must be decremented by one. + // Example: + // http://forgifs.com/gallery/d/279419-2/Reporter-videobombed-shoulder-checks.gif + // http://forgifs.com/gallery/d/279418-2/Reporter-videobombed-shoulder-checks.gif + // Notice how this changes ----------^ + // Now let's extract that number and do some math + // Notice: Technically we could also load the content page but that would + // require unnecessary traffic. As long as it works... + $num = substr($img->src, 29, 6); + $num -= 1; + $img->src = substr_replace($img->src, $num, 29, strlen($num)); + $img->width = 'auto'; + $img->height = 'auto'; + + $item['content'] = $content; + + return $item; + + } + +}