テキスト中のキーワードをリンクする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. 元TBSのフリーアナウンサー「川田亜子」さん他殺の疑い (7 PV)
  2. PHP、MySQLで動くオープンソース掲示板ソフト (7 PV)
  3. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (6 PV)
  4. 読売新聞「石井誠」記者変死事件 (6 PV)
  5. 上半身裸で国分寺の路上に倒れていた20代男性死亡 (3 PV)
  6. 読売巨人軍の原辰徳監督が元暴力団員に1億円払っていたことが発覚 (2 PV)
  7. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (2 PV)
  8. 「坑うつ剤」のヤバさは異常 (2 PV)
  9. 岡沢高宏の相棒でヤクザの金村剛弘(金剛弘)が西新宿の路上で襲撃され死亡 (2 PV)
  10. 飯島愛さんの遺体から薬物反応、死因はうっ血性心不全か (2 PV)

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

  1. PHP、MySQLで動くオープンソース掲示板ソフト (119 PV)
  2. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (90 PV)
  3. 岡沢高宏の相棒でヤクザの金村剛弘(金剛弘)が西新宿の路上で襲撃され死亡 (81 PV)
  4. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (78 PV)
  5. 2chまとめサイト(ブログ)検索 (66 PV)
  6. 警視庁がチャゲアスのASKA(宮崎重明)を覚せい剤取締法違反で逮捕、本人は容疑を否認 (65 PV)
  7. ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (58 PV)
  8. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (55 PV)
  9. 【速報】パナマ文書に記載されている日本企業、日本人の一覧リスト (39 PV)
  10. 「真実を探すブログ」と「カレイドスコープ」が互いに誹謗・中傷と非難の応酬 (37 PV)

アクセス統計

ディレクトリ

関連サイト