Update MemoLinux

This commit is contained in:
Damien Calesse 2015-01-30 18:32:06 +01:00
parent 1a64a21d50
commit f7a7acfde4

View file

@ -4,40 +4,41 @@
* @homepage http://memo-linux.com/ * @homepage http://memo-linux.com/
* @description Returns the 10 newest posts from MemoLinux (full text) * @description Returns the 10 newest posts from MemoLinux (full text)
* @maintainer qwertygc * @maintainer qwertygc
* @update 2014-07-07 * @update 2015-01-30
*/ */
class MemoLinuxBridge extends BridgeAbstract{ class MemoLinuxBridge extends BridgeAbstract{
public function collectData(array $param){ public function collectData(array $param){
function StripCDATA($string) { function StripCDATA($string) {
$string = str_replace('<![CDATA[', '', $string); $string = str_replace('<![CDATA[', '', $string);
$string = str_replace(']]>', '', $string); $string = str_replace(']]>', '', $string);
return $string; return $string;
} }
function ExtractContent($url) {
$html2 = file_get_html($url);
$text = $html2->find('div.post-content', 0)->innertext;
$text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text);
$text = preg_replace('@<div[^>]*?>.*?</div>@si', '', $text);
$text = preg_replace("/<h1.*/", '', $text);
return $text;
}
$html = file_get_html('http://memo-linux.com/feed/') or $this->returnError('Could not request MemoLinux.', 404);
$limit = 0;
foreach($html->find('item') as $element) { function ExtractContent($url) {
if($limit < 10) { $html2 = file_get_html($url);
$item = new \Item(); $text = $html2->find('div.entry-content', 0)->innertext;
$item->title = StripCDATA($element->find('title', 0)->innertext); $text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text);
$item->uri = StripCDATA($element->find('guid', 0)->plaintext); $text = preg_replace('@<div[^>]*?>.*?</div>@si', '', $text);
$item->timestamp = strtotime($element->find('pubDate', 0)->plaintext); $text = preg_replace("/<h1.*/", '', $text);
$item->content = ExtractContent($item->uri); return $text;
$this->items[] = $item; }
$limit++;
} $html = file_get_html('http://memo-linux.com/feed/') or $this->returnError('Could not request MemoLinux.', 404);
} $limit = 0;
foreach($html->find('item') as $element) {
if($limit < 10) {
$item = new \Item();
$item->title = StripCDATA($element->find('title', 0)->innertext);
$item->uri = StripCDATA($element->find('guid', 0)->plaintext);
$item->timestamp = strtotime($element->find('pubDate', 0)->plaintext);
$item->content = ExtractContent($item->uri);
$this->items[] = $item;
$limit++;
}
}
} }
public function getName(){ public function getName(){