はてなダイアリー外のアプリケーションにおいて、はてなダイアリー内と同じく、キーワードの自動リンクを可能とするためのAPIを試験公開しました。
以下のURLから、はてなダイアリー内のキーワードにマッチする正規表現パターンを、EUC-JP文字コードにより取得頂けます。(通常のブラウザで閲覧するとエラーとなる場合がございます。ご注意ください)
http://d.hatena.ne.jp/images/keyword/keywordlist
外部アプリケーションにおいて、任意のテキストに対して自動リンク処理を行う場合のPerlサンプルスクリプトは以下のようになります。
#!/usr/bin/perl -w use strict; use LWP::Simple qw(get); my $text = 'はてなダイアリーの自動リンクテスト。'; my $url = 'http://d.hatena.ne.jp/images/keyword/keywordlist '; my $keywordlist = LWP::Simple::get($url); $text =~ s! ($keywordlist) ! my $enword = my $word = $1; $enword =~ s/(\W)/sprintf("%%%x",ord($1))/ge; qq|<a href="http://d.hatena.ne.jp/keyword/$enword">$word</a>|; !egiox; print $text;
なお、上記ファイルは現状で300KBほどありますので、アプリケーション側で一定時間キャッシュして頂くなどの措置をお願いできればと思います。
追記:正規表現にoオプションを加えました。miyagawaさん、有難うございました。