テキスト中のキーワードをリンクするPerlサンプルスクリプト

任意のキーワードリストに含まれるテキスト中のキーワードに、特定のページ(URL)にリンクするPerlのサンプルスクリプトを作ってみました。ブログソフトとか掲示板ソフトを開発する際に役に立つと思います。文字エンコードがUTF-8、EUCではOKでしたが、SJISではうまく動きませんでした。

以下、サンプルスクリプトの一部です。
my @wordlist = ('はてな', 'ブログ', 'アルファブロガー');
foreach my $word (@wordlist) {
my $encword = $word;
$encword =~ s/(\W)/'%'.unpack('H2', $1)/eg; # uri encode
my $link = "<a href=\"serach.cgi?querystr=$encword\">$word</a>";
$text =~ s/$word/$link/g;
# アンカーテキストのキーワードは元に戻す
my $pattern = "(<a href.+)<a href.+$word</a>(.+/a>)";
$text =~ s/$pattern/$1$word$2/g;
}
print $text;

リンクの処理のところが微妙ですが、適当に修正して使っていただければ幸いです。

はてなダイアリーのキーワードにリンクするためのサンプルもあるようです。動かしてみたわけでないのでハッキリとはいえませんが、ソースを見る限りテキスト内でアンカータグでリンクを行っている場合は、まずいような気もします。

はてなダイアリーキーワード自動リンクAPI - はてなダイアリー日記
なお、上記ファイルは現状で300KBほどありますので、アプリケーション側で一定時間キャッシュして頂くなどの措置をお願いできればと思います。
テキスト一つ処理するだけで300KBですか、はてな側も大変かも知れませんが呼び出す方も大変ですね。
[225] Posted by buzei at 2008/02/24 23:46:55
オープン | 0 point | Link (1) | Trackback (0) | Comment (0)

キーワード
プログラミング Perl サンプル

掲示板と検索のホームページ


テキスト中のキーワードをリンクするPerlサンプルスクリプト 関連リンク

Perl(パール)
Perl(パール)とは、Larry Wall氏によって開発された、テキストの検索や抽出やレポート作成に適した、C言語...

テキスト中のキーワードをリンクするPerlサンプルスクリプト トラックバック

トラックバックURL :


テキスト中のキーワードをリンクするPerlサンプルスクリプトへのコメント


詳細の入力フィールドを表示する

おすすめ  (チェックしてコメントすると最新情報に掲載)
コメント :

< 前のスレッド      次のスレッド >

アクセスランキング

今日のアクセスランキング(上位10件)

  1. さくらインターネット研究所 (1 PV)
  2. 「真実を探すブログ」と「カレイドスコープ」が互いに誹謗・中傷と非難の応酬 (1 PV)
  3. 自民党広報本部が自民党所属の国会議員にTwitterの活用を呼びかけ (1 PV)
  4. NHK紅白歌合戦 (1 PV)
  5. [奇兵隊内閣]郵政改革法案廃案で亀井静香金融相が辞任 (1 PV)
  6. 2chまとめサイト(ブログ)検索 (1 PV)
  7. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (1 PV)
  8. 「八ツ場(やんば)ダム」のある群馬県長野原町の町役場に批判メール殺到 (1 PV)
  9. [Perl]メールフォームCGIのサンプルプログラム (1 PV)
  10. 米国債、将来は「AAA」から格下げの可能性も (1 PV)

今月のアクセスランキング(上位10件)

  1. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (115 PV)
  2. PHP、MySQLで動くオープンソース掲示板ソフト (107 PV)
  3. 「真実を探すブログ」と「カレイドスコープ」が互いに誹謗・中傷と非難の応酬 (86 PV)
  4. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (82 PV)
  5. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (70 PV)
  6. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (43 PV)
  7. 2chまとめサイト(ブログ)検索 (31 PV)
  8. ピーアーク三田は許せない 東京都港区 (20 PV)
  9. [書籍]MySQL関連 (20 PV)
  10. UseBB(ユースビービー) - フォーラムソフトウェア (18 PV)

アクセス統計

ディレクトリ

関連サイト