mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2025-03-31 05:43:53 +03:00
[CarThrottleBridge] add bridge for carthrottle.com (#2514)
This commit is contained in:
parent
1fd3b12512
commit
16470e8119
1 changed files with 41 additions and 0 deletions
41
bridges/CarThrottleBridge.php
Normal file
41
bridges/CarThrottleBridge.php
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
<?php
|
||||||
|
class CarThrottleBridge extends FeedExpander {
|
||||||
|
const NAME = 'Car Throttle ';
|
||||||
|
const URI = 'https://www.carthrottle.com';
|
||||||
|
const DESCRIPTION = 'Get the latest car-related news from Car Throttle.';
|
||||||
|
const MAINTAINER = 't0stiman';
|
||||||
|
|
||||||
|
public function collectData() {
|
||||||
|
$this->collectExpandableDatas('https://www.carthrottle.com/rss', 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function parseItem($feedItem) {
|
||||||
|
$item = parent::parseItem($feedItem);
|
||||||
|
|
||||||
|
//fetch page
|
||||||
|
$articlePage = getSimpleHTMLDOMCached($feedItem->link)
|
||||||
|
or returnServerError('Could not retrieve ' . $feedItem->link);
|
||||||
|
|
||||||
|
$subtitle = $articlePage->find('p.standfirst', 0);
|
||||||
|
$article = $articlePage->find('div.content_field', 0);
|
||||||
|
|
||||||
|
$item['content'] = str_get_html($subtitle . $article);
|
||||||
|
|
||||||
|
//convert <iframe>s to <a>s. meant for embedded videos.
|
||||||
|
foreach($item['content']->find('iframe') as $found) {
|
||||||
|
|
||||||
|
$iframeUrl = $found->getAttribute('src');
|
||||||
|
|
||||||
|
if ($iframeUrl) {
|
||||||
|
$found->outertext = '<a href="' . $iframeUrl . '">' . $iframeUrl . '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//remove scripts from the text
|
||||||
|
foreach ($item['content']->find('script') as $remove) {
|
||||||
|
$remove->outertext = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $item;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue