Changeset 211

Show
Ignore:
Timestamp:
03/01/06 10:26:49
Author:
miyagawa
Message:

Fixed Filter::StripRSSAd bug that it doesn't work with Bloglines subscription.
Thanks to http://d.hatena.ne.jp/s_nobu/20060301

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/plagger/lib/Plagger/Plugin/Filter/StripRSSAd.pm

    r142 r211  
    1313sub update { 
    1414    my($self, $context, $args) = @_; 
    15     my $body = $self->filter($args->{feed}->url, $args->{entry}->body); 
     15    my $body = $self->filter($args->{entry}->body); 
    1616    $args->{entry}->body($body); 
    1717} 
    1818 
    1919sub filter { 
    20     my($self, $link, $body) = @_; 
     20    my($self, $body) = @_; 
    2121 
    2222    # rssad.jp 
    23     if ($link =~ m!^http://rss\.rssad\.jp/rss!) { 
    24         my $count = $body =~ s!<br clear="all" /><a href="http://rss\.rssad\.jp/rss/ad/.*?" target="_blank".*?><img .*? src="http://rss\.rssad\.jp/rss/img/.*?" border="0"/></a><br/>!!; 
    25         Plagger->context->log(debug => "Stripped rssad.jp ad") if $count; 
    26     } 
     23    my $count = $body =~ s!<br clear="all" /><a href="http://rss\.rssad\.jp/rss/ad/.*?" target="_blank".*?><img .*? src="http://rss\.rssad\.jp/rss/img/.*?" border="0"/></a><br.*?>!!; 
     24    Plagger->context->log(debug => "Stripped rssad.jp ad") if $count; 
    2725 
    2826    # plaza.rakuten.co.jp 
    29     if ($link =~ m!^http://api\.plaza\.rakuten\.ne\.jp/!) { 
    30         my $count = $body =~ s!<br clear?=all /><br><SMALL>\n<SCRIPT LANGUAGE="Javascript">\n<\!--\nfunction random\(\).*?</SCRIPT>\n<NOSCRIPT>.*?</NOSCRIPT>\n</SMALL>\n!!s; 
    31         Plagger->context->log(debug => "Stripped plaza.rakuten ad") if $count; 
    32     } 
     27    my $count = $body =~ s!<br clear?=all /><br><SMALL>\n(?:<SCRIPT LANGUAGE="Javascript">\n<\!--\nfunction random\(\).*?infoseek.*?RssPlaza.*</SCRIPT>)?\n<NOSCRIPT>.*?infoseek.*?RssPlaza.*?</NOSCRIPT>\n</SMALL>!!s; 
     28    Plagger->context->log(debug => "Stripped plaza.rakuten ad") if $count; 
    3329 
    3430    # Google AdSense for Feeds