--- trunk/bin/irc-logger.pl 2007/04/14 12:45:03 60 +++ trunk/bin/irc-logger.pl 2007/04/21 12:10:23 61 @@ -73,6 +73,7 @@ use HTML::CalendarMonthSimple; use Getopt::Long; use DateTime; +use URI::Escape; use Data::Dump qw/dump/; my $use_twitter = 1; @@ -941,12 +942,21 @@ filter => { message => sub { my $m = shift || return; + + # protect HTML from wiki modifications + sub e { + my $t = shift; + return 'uri_unescape{' . uri_escape($t) . '}'; + } + $m =~ s/($escape_re)/$escape{$1}/gs; - $m =~ s#($RE{URI}{HTTP})#$1#gs; - $m =~ s#$tag_regex#$1#g; + $m =~ s#($RE{URI}{HTTP})#e(qq{$1})#egs; + $m =~ s#$tag_regex#e(qq{$1})#egs; $m =~ s#\*(\w+)\*#$1#gs; $m =~ s#_(\w+)_#$1#gs; $m =~ s#\/(\w+)\/#$1#gs; + + $m =~ s#uri_unescape{([^}]+)}#uri_unescape($1)#egs; return $m; }, nick => sub {