mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2024-11-23 18:15:28 +03:00
a4b9611e66
- Do not add spaces after opening or before closing parenthesis // Wrong if( !is_null($var) ) { ... } // Right if(!is_null($var)) { ... } - Add space after closing parenthesis // Wrong if(true){ ... } // Right if(true) { ... } - Add body into new line - Close body in new line // Wrong if(true) { ... } // Right if(true) { ... } Notice: Spaces after keywords are not detected: // Wrong (not detected) // -> space after 'if' and missing space after 'else' if (true) { ... } else{ ... } // Right if(true) { ... } else { ... }
44 lines
1.5 KiB
PHP
44 lines
1.5 KiB
PHP
<?php
|
|
class LeMondeInformatiqueBridge extends FeedExpander {
|
|
|
|
const MAINTAINER = 'ORelio';
|
|
const NAME = 'Le Monde Informatique';
|
|
const URI = 'http://www.lemondeinformatique.fr/';
|
|
const CACHE_TIMEOUT = 1800; // 30min
|
|
const DESCRIPTION = 'Returns the newest articles.';
|
|
|
|
public function collectData(){
|
|
$this->collectExpandableDatas(self::URI . 'rss/rss.xml', 10);
|
|
}
|
|
|
|
protected function parseItem($newsItem){
|
|
$item = parent::parseItem($newsItem);
|
|
$article_html = getSimpleHTMLDOMCached($item['uri'])
|
|
or returnServerError('Could not request LeMondeInformatique: ' . $item['uri']);
|
|
$item['content'] = $this->cleanArticle($article_html->find('div#article', 0)->innertext);
|
|
$item['title'] = $article_html->find('h1.cleanprint-title', 0)->plaintext;
|
|
return $item;
|
|
}
|
|
|
|
private function stripCDATA($string){
|
|
$string = str_replace('<![CDATA[', '', $string);
|
|
$string = str_replace(']]>', '', $string);
|
|
return $string;
|
|
}
|
|
|
|
private function stripWithDelimiters($string, $start, $end){
|
|
while(strpos($string, $start) !== false) {
|
|
$section_to_remove = substr($string, strpos($string, $start));
|
|
$section_to_remove = substr($section_to_remove, 0, strpos($section_to_remove, $end) + strlen($end));
|
|
$string = str_replace($section_to_remove, '', $string);
|
|
}
|
|
|
|
return $string;
|
|
}
|
|
|
|
private function cleanArticle($article_html){
|
|
$article_html = $this->stripWithDelimiters($article_html, '<script', '</script>');
|
|
$article_html = $this->stripWithDelimiters($article_html, '<h1 class="cleanprint-title"', '</h1>');
|
|
return $article_html;
|
|
}
|
|
}
|