10 |
|
|
11 |
my $feed = XML::Feed->parse(URI->new($uri)) or die XML::Feed->errstr; |
my $feed = XML::Feed->parse(URI->new($uri)) or die XML::Feed->errstr; |
12 |
|
|
13 |
|
sub strip_html { |
14 |
|
my $t = shift; |
15 |
|
$t =~ s/<\/?[^>]+>//gs; |
16 |
|
$t =~ s/\s\s+/ /gs; |
17 |
|
return $t; |
18 |
|
} |
19 |
|
|
20 |
for my $entry ($feed->entries) { |
for my $entry ($feed->entries) { |
21 |
return_next({ |
return_next({ |
22 |
feed => $feed->title, |
feed => $feed->title, |
23 |
title => $entry->title, |
title => $entry->title, |
24 |
content => $entry->content->body, |
content => strip_html( $entry->content->body ), |
25 |
link => $entry->link, |
link => $entry->link, |
26 |
pubdate => $entry->issued, |
pubdate => $entry->issued, |
27 |
author => $entry->author, |
author => $entry->author, |
47 |
; |
; |
48 |
|
|
49 |
select |
select |
50 |
feed,author,title,substr(content,0,50),pubdate,link |
feed,author,title,substr(content,0,80),pubdate,link |
51 |
from feeds |
from feeds |
52 |
order by pubdate desc |
order by pubdate desc |
53 |
limit 30 |
limit 30 |