collectExpandableDatas('https://forgifs.com/gallery/srss/7'); } protected function parseItem(array $item) { $dom = str_get_html($item['content']); $img = $dom->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'] = (string) $dom; return $item; } }