HTML::ColorKeywords を使って chalow の検索をハイライトする
2006-02-11-5: [Perl]
HTML::ColorKeywords が便利だったので chalow の検索 cgi である clsearch.cgi に色を付けてみた.
clsearch.cgi はシンプルモードでは黄色のハイライトが付くが,アイテムモードでは付かないので,
とりあえずアイテムモードでもハイライトするパッチ.
clsearch.cgi と同じディレクトリに HTML/ColorKeywords.pm を置いておく.
--- clsearch.cgi-orig 2005-01-13 01:34:28.000000000 +0100
+++ clsearch.cgi 2006-02-12 00:25:49.374442000 +0100
@@ -2,6 +2,7 @@
# $Id: clsearch.cgi,v 1.22 2005/01/13 00:34:28 yto Exp $
# clsearch.cgi - chalow により HTML 化された ChangeLog を検索する CGI
use strict;
+use HTML::ColorKeywords;
### User Setting from here
# お好みにあわせて変えて下さい
@@ -66,6 +67,7 @@
# ■■■ 検索 ■■■
my $outstr = "";
my $cnt = 0;
+my @keys;
sub clean {
@@ -80,7 +82,7 @@
$key =~ s/\s+$//;
$key =~ s/^\s+//;
- my @keys = ($key =~ /(".+?"|\S+)/g);
+ @keys = ($key =~ /(".+?"|\S+)/g);
# @keys = map {s/^"(.+)"$/$1/; s/(.)/'\x'.unpack("H2", $1)/gie; $_;} @keys;
@keys = map {s/^"(.+)"$/$1/; $_;} @keys;
@@ -149,6 +151,10 @@
}
+if ($mode == 1) { # アイテムモード
+ my $c = HTML::ColorKeywords->new();
+ $c->do(keys => \@keys, string => \$outstr);
+}
# ■■■ 過去記事表示のための選択棒 ■■■
my $page_max = int(($cnt - 1) / $numnum);