テキスト中のキーワードをリンクする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. 2NN (2ch News Navigator) (4 PV)
  2. 僕が2ちゃんねるを捨てた理由 ひろゆき著 (2 PV)
  3. 【速報】パナマ文書に記載されている日本企業、日本人の一覧リスト (2 PV)
  4. 2ちゃんねるが外国の企業に売り飛ばされたらしい (2 PV)
  5. 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (2 PV)
  6. 掲示板フリーソフト - 無料で利用できる掲示板CGI (2 PV)
  7. [Twitter]ツイッター検索のまとめ (2 PV)
  8. [B-CAS]平成の龍馬(多田光宏)逮捕 (2 PV)
  9. [書籍]C++ 関連 (1 PV)
  10. 市川海老蔵さんを殴ったのは関東連合の男という噂 (1 PV)

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

  1. 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (159 PV)
  2. 掲示板フリーソフト - 無料で利用できる掲示板CGI (90 PV)
  3. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (88 PV)
  4. 2NN (2ch News Navigator) (60 PV)
  5. [Twitter]ツイッター検索のまとめ (55 PV)
  6. 【速報】パナマ文書に記載されている日本企業、日本人の一覧リスト (50 PV)
  7. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (49 PV)
  8. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (42 PV)
  9. [掲示板]2ちゃんねる(2ch.net) (35 PV)
  10. 白井景子 (29 PV)

アクセス統計

ディレクトリ

関連サイト