Changeset 142

Show
Ignore:
Timestamp:
02/24/06 19:15:54
Author:
miyagawa
Message:

Update StripRSSAd to strip plaza.rakuten.co.jp ads

Files:

Legend:

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

    r105 r142  
    1313sub update { 
    1414    my($self, $context, $args) = @_; 
    15     my $body = $self->filter($args->{entry}->body); 
     15    my $body = $self->filter($args->{feed}->url, $args->{entry}->body); 
    1616    $args->{entry}->body($body); 
    1717} 
    1818 
    1919sub filter { 
    20     my($self, $body) = @_; 
     20    my($self, $link, $body) = @_; 
    2121 
    2222    # rssad.jp 
    23     $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/>!!; 
     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    } 
     27 
     28    # 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    } 
    2433 
    2534    # Google AdSense for Feeds 
    26     $body =~ s!<p><map name="google_ad_map_\d+\-\d+"><area.*?></map><img usemap="#google_ad_map_\d+-\d+" border="0" src="http://imageads\.googleadservices\.com/pagead/ads\?.*?" /></p>!!; 
     35    my $count = $body =~ s!<p><map name="google_ad_map_\d+\-\d+"><area.*?></map><img usemap="#google_ad_map_\d+-\d+" border="0" src="http://imageads\.googleadservices\.com/pagead/ads\?.*?" /></p>!!; 
     36    Plagger->context->log(debug => "Stripped Google AdSense for feeds") if $count; 
    2737 
    2838    $body;