テキスト中のキーワードをリンクする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)

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

  1. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (181 PV)
  2. SQLプログラミング質問スレ (68 PV)
  3. 伝説の男、瓜田純士さんが新宿駅構内で2週間前に割腹自殺を図る (30 PV)
  4. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (29 PV)
  5. 「真実を探すブログ」と「カレイドスコープ」が互いに誹謗・中傷と非難の応酬 (18 PV)
  6. 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (12 PV)
  7. 1500万円踏み倒しの外務省官僚はホテルの女性経営者(片岡都美)と恋仲だった!? (11 PV)
  8. 2chまとめサイト(ブログ)検索 (10 PV)
  9. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (10 PV)
  10. 5ちゃんねる(5ch.net)の検索(旧2ちゃんねるの検索) (6 PV)

アクセス統計

ディレクトリ

関連サイト