テキスト中のキーワードをリンクするPerlサンプルスクリプト
任意のキーワードリストに含まれるテキスト中のキーワードに、特定のページ(URL)にリンクするPerlのサンプルスクリプトを作ってみました。ブログソフトとか掲示板ソフトを開発する際に役に立つと思います。文字エンコードがUTF-8、EUCではOKでしたが、SJISではうまく動きませんでした。
以下、サンプルスクリプトの一部です。
リンクの処理のところが微妙ですが、適当に修正して使っていただければ幸いです。
はてなダイアリーのキーワードにリンクするためのサンプルもあるようです。動かしてみたわけでないのでハッキリとはいえませんが、ソースを見る限りテキスト内でアンカータグでリンクを行っている場合は、まずいような気もします。
はてなダイアリーキーワード自動リンクAPI - はてなダイアリー日記
以下、サンプルスクリプトの一部です。
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ですか、はてな側も大変かも知れませんが呼び出す方も大変ですね。
[1177] Posted by kagahiro at 2008/02/24 23:14:33
オープン | 1 point | Link (2) | Trackback (1) | Comment (0)
オープン | 1 point | Link (2) | Trackback (1) | Comment (0)
キーワード
perl プログラミング オープンソース CGI サンプル プログラム キーワード リンク
追記
| サンプルスクリプトのソース | |
| サンプルスクリプトのソースを添付ファイルに登録しています。 | |
| Posted by kagahiro at 2008/02/24 23:22:00 | |
添付ファイル
| 1177_1_sample1.pl | 1069 byte | 2008/02/24 23:20:14 | kagahiro |
テキスト中のキーワードをリンクするPerlサンプルスクリプト 関連リンク
| Perl(パール) | |
| perl(パール)とは、Larry Wall氏によって開発された、テキストの検索や抽出やレポート作成に適した、C言語... | |
| URLを元にページのタイトルを取得するPerlのサンプルスクリプト | |
| URLから元ページのタイトルを取得するためのperlのサンプルスクリプトです。処理手順は以下の通りです。1.ペ... | |
テキスト中のキーワードをリンクするPerlサンプルスクリプト トラックバック
トラックバックURL :
| Linked from IT土方日記 : はてなを潰すためにはどうすればいいのか at 2008/02/25 02:10:58 | |
| この方がおっしゃっているように、はてなの強みはSEOにあります。それならば、はてなを潰すにはその強みを無効化、弱体化すればよいのではないでしょうか。 はてなはなぜ潰れないのか? 「はてなはSEOが強いので、検... | |
テキスト中のキーワードをリンクするPerlサンプルスクリプトへのコメント
アクセスランキング
今日のアクセスランキング TOP 10
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (23 PV)
- C# (2 PV)
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2 PV)
- 動画共有サイト - ニコニコ動画 (2 PV)
- シストレ(システムトレード) - コンピューターシステムで株や通貨を自動売買 (2 PV)
- アボガドのオリーブオイル漬け (2 PV)
- Windows Vista Capable PC (2 PV)
- ハッピーハッキングキーボード(HHKB、Happy Hacking Keyboard) (2 PV)
- ブログを利用したECサイト向け口コミ広告サービス (2 PV)
- jig.jp、「jigベンチマーク 2.0.0」をリリース (2 PV)
今月のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (163 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (148 PV)
- 2NN 2ちゃんねるニュース速報+ナビ (79 PV)
- FC2まとめ (38 PV)
- 仲値トレードが簡単にできる無料EA「NAKANE3」 #MT4 (35 PV)
- MT4向け1ポジブレイクアウトEA「HEADLINE」オープンソースライセンス(GPL3)で公開 #USDJPY (32 PV)
- 2ちゃんねる(2ch) (30 PV)
- 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (29 PV)
- 爆益を狙うハイリスクハイリターンのナンピンマーチンEA「Hyper Dollar MT5」 (27 PV)
- USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (24 PV)
アクセス統計
ディレクトリ
関連サイト