<?php class TheDriveBridge extends FeedExpander { const NAME = 'The Drive'; const URI = 'https://www.thedrive.com/'; const DESCRIPTION = 'Car news from thedrive.com'; const MAINTAINER = 't0stiman'; const DONATION_URI = 'https://ko-fi.com/tostiman'; public function collectData() { $this->collectExpandableDatas('https://www.thedrive.com/feed', 20); } protected function parseItem($feedItem) { $item = parent::parseItem($feedItem); //remove warzone articles if (str_contains($item['uri'], 'the-war-zone')) { return null; } //the first image in the article is an attachment for some reason foreach ($item['enclosures'] as $attachment) { $item['content'] = '<img src="' . $attachment . '">' . $item['content']; } $item['enclosures'] = []; //make youtube videos clickable $html = str_get_html($item['content']); foreach ($html->find('div.lazied-youtube-frame') as $youtubeVideoDiv) { $videoID = $youtubeVideoDiv->getAttribute('data-video-id'); //place <a> around the <div> $youtubeVideoDiv->outertext = '<a href="https://www.youtube.com/watch?v=' . $videoID . '">' . $youtubeVideoDiv->outertext . '</a>'; } $item['content'] = $html; return $item; } }