msearch掲示板 記事の表示


掲示板の過去ログを検索したいのですが問題が。
    記事番号:889
    記録日  :2003年 9月12日 23:50
    記録者  :あるびの
    Web  :園芸相談センター

はじめまして。「wwwlng」と言う掲示板↓
http://tohoho.wakusei.ne.jp/soft/wlng.htm
の過去ログをmsarchで検索したいのですが、問題が二つあります。

・検索結果のURLが上手く指定できない
・すべて「タイトルなし」になってしまう
http://botany.cool.ne.jp/test/msearch.cgi

この掲示板cgiは記事一つ一つをすべて↓のようにtxt形式で保存します。
http://botany.cool.ne.jp/wwwlng/200309/03090024.txt
それを
http://botany.cool.ne.jp/wwwlng.cgi?print+200309/03090024.txt
のような形式でcgiで呼び出してHTMLで表示するのですが、
インデックス化の時の「対象ディレクトリのURL」を
http://botany.cool.ne.jp/wwwlng.cgi?print+
と指定すると
〜wwwlng.cgi?print+/200306/03060212.txt
のようになってしまい上手くURL指定が出来ません。
〜wwwlng.cgi?print+200306/03060212.txt
の形にしたいのですが良い方法はないでしょうか。

また、対象ファイルがtxt形式のためすべて「タイトルなし」になってしまいます。
txtファイル内の「Subject:〜[改行]」までの文字ををタイトルとして
インデックス化したいのですが、良い方法はあるでしょうか?

genindex.cgiの簡単な改造?と言う事なると思いますがよろしくお願いします。





このスレッドの表示
現在の記事よりも下流のものは内容も表示されます。
下流の記事は、そのタイトルをクリックすることでその記事に直接返信することもできます。

889.->掲示板の過去ログを検索したいのですが問題が。(現在の記事)<-:2003年 9月12日 23:50 
  −892. Re:掲示板の過去ログを検索したいのですが問題が。
  (Rep.to No.889.)
毛流麦花:Web:ニルスの友の会:2003年 9月13日 09:42 
いずれもindexing.plの改造で対応可能です。
改造箇所を記します。

>〜wwwlng.cgi?print+/200306/03060212.txt
>のようになってしまい上手くURL指定が出来ません。
>〜wwwlng.cgi?print+200306/03060212.txt
>の形にしたいのですが良い方法はないでしょうか。
>
>また、対象ファイルがtxt形式のためすべて「タイトルなし」になってしまいます。
>txtファイル内の「Subject:〜[改行]」までの文字ををタイトルとして
>インデックス化したいのですが、良い方法はあるでしょうか?

(1)Sub makedata()内(540行目付近)の以下の箇所に「★★ここから追加」から「★★ここまで追加」までを追加します。


## URLの作成
$url = $file;
$url =~ s/^$target_dir/$target_url/;

## ★★ここから追加
$url =~ s{cgi\?print\+{cgi\?print\+};
open(FILE,"<$file");
chomp($firstline = <FILE>);
&jcode::convert(\$firstline, "euc", "", "z");
$firstline =~ /^Subject:(.*?)$/;
$title = $1;
$title =~ s/\s+/ /g;
$title =~ s/^\s+//;
close(FILE);
## ★★ここまで追加

## ファイルの読み込み
open(FILE,"<$file");


(2)Sub makedata()内をすこし下がった以下の箇所の「★★ここから追加」から「★★ここまで追加」までを追加します。(2箇所あります。)


## タイトルを取得する
## ★★ここから追加
if($title eq "") {
# WwwLounge過去ログ以外の場合は通常通りタイトルを取得
## ★★ここまで追加
$contents =~ /<title.*?>(.*?)<\/title>/i;
$title = $1;
$title =~ s/\s+/ /g;
$title =~ s/^\s+//;
&jcode::tr(\$title,'0-9A-Za-z+][.()?/@−',
'0-9A-Za-z+][.()?/@-');
## ★★ここから追加
}
## ★★ここまで追加

## タイトル文字も本文に含める
$contents = $title . $contents;


(3)掲示板のログに仕切線=========が入っていますが、これをインデックス化する必要はないはずです。(インデックスサイズを不必要に大きくするだけですし。)


## タイトル文字も本文に含める
$contents = $title . $contents;

## ★★ここから追加
$contents =~ s/={40}//g;
## ★★ここまで追加

## 入れ子になったコメントも含めてちゃんと除去

--------------------
  −893. Re(2):掲示板の過去ログを検索したいのですが問題が。
  (Rep.to No.892.)
毛流麦花:Web:ニルスの友の会:2003年 9月13日 15:40 
掲示板の仕様で正しく表示されていない箇所があるので、再投稿します。((1)の$urlの行がおかしくなっている。)

>(1)Sub makedata()内(540行目付近)の以下の箇所に「★★ここから追加」から「★★ここまで追加」までを追加します。
>
>
>## URLの作成
>$url = $file;
>$url =~ s/^$target_dir/$target_url/;
>
>## ★★ここから追加
>$url =~ s{cgi\?print\+/}{cgi\?print\+};
>open(FILE,"<$file");
>chomp($firstline = <FILE>);
>&jcode::convert(\$firstline, "euc", "", "z");
>$firstline =~ /^Subject:(.*?)$/;
>$title = $1;
>$title =~ s/\s+/ /g;
>$title =~ s/^\s+//;
>close(FILE);
>## ★★ここまで追加
>
>## ファイルの読み込み
>open(FILE,"<$file");
>
>
>(2)Sub makedata()内をすこし下がった以下の箇所の「★★ここから追加」から「★★ここまで追加」までを追加します。(2箇所あります。)
>
>
>## タイトルを取得する
>## ★★ここから追加
>if($title eq "") {
># WwwLounge過去ログ以外の場合は通常通りタイトルを取得
>## ★★ここまで追加
>$contents =~ /<title.*?>(.*?)<\/title>/i;
>$title = $1;
>$title =~ s/\s+/ /g;
>$title =~ s/^\s+//;
>&jcode::tr(\$title,'0-9A-Za-z+][.()?/@−',
>'0-9A-Za-z+][.()?/@-');
>## ★★ここから追加
>}
>## ★★ここまで追加
>
>## タイトル文字も本文に含める
>$contents = $title . $contents;
>
>
>(3)掲示板のログに仕切線=========が入っていますが、これをインデックス化する必要はないはずです。(インデックスサイズを不必要に大きくするだけですし。)
>
>
>## タイトル文字も本文に含める
>$contents = $title . $contents;
>
>## ★★ここから追加
>$contents =~ s/={40}//g;
>## ★★ここまで追加
>
>## 入れ子になったコメントも含めてちゃんと除去

--------------------
  −3351. Re(2):掲示板の過去ログを検索したいのですが問題が。
  (Rep.to No.892.)
assqq:2007年 9月 3日 21:37 
記事番号892において毛流麦花さん曰く、

>いずれもindexing.plの改造で対応可能です。
>改造箇所を記します。
>
>>〜wwwlng.cgi?print+/200306/03060212.txt
>>のようになってしまい上手くURL指定が出来ません。
>>〜wwwlng.cgi?print+200306/03060212.txt
>>の形にしたいのですが良い方法はないでしょうか。
>>
>>また、対象ファイルがtxt形式のためすべて「タイトルなし」になってしまいます。
>>txtファイル内の「Subject:〜[改行]」までの文字ををタイトルとして
>>インデックス化したいのですが、良い方法はあるでしょうか?
>
>(1)Sub makedata()内(540行目付近)の以下の箇所に「★★ここから追加」から「★★ここまで追加」までを追加します。
>
>
>## URLの作成
>$url = $file;
>$url =~ s/^$target_dir/$target_url/;
>
>## ★★ここから追加
>$url =~ s{cgi\?print\+{cgi\?print\+};
>open(FILE,"
--------------------
  −3466. Re(2):掲示板の過去ログを検索したいのですが問題が。
  (Rep.to No.892.)
diller:Web:allfunds.free-site-host.com:2007年 9月 9日 05:55 
記事番号892において毛流麦花さん曰く、

>いずれもindexing.plの改造で対応可能です。
>改造箇所を記します。
>
>>〜wwwlng.cgi?print+/200306/03060212.txt
>>のようになってしまい上手くURL指定が出来ません。
>>〜wwwlng.cgi?print+200306/03060212.txt
>>の形にしたいのですが良い方法はないでしょうか。
>>
>>また、対象ファイルがtxt形式のためすべて「タイトルなし」になってしまいます。
>>txtファイル内の「Subject:〜[改行]」までの文字ををタイトルとして
>>インデックス化したいのですが、良い方法はあるでしょうか?
>
>(1)Sub makedata()内(540行目付近)の以下の箇所に「★★ここから追加」から「★★ここまで追加」までを追加します。
>
>
>## URLの作成
>$url = $file;
>$url =~ s/^$target_dir/$target_url/;
>
>## ★★ここから追加
>$url =~ s{cgi\?print\+{cgi\?print\+};
>open(FILE,"
--------------------
  −3737. Re(2):掲示板の過去ログを検索したいのですが問題が。
  (Rep.to No.892.)
John:Web:allfunds.free-site-host.com/world-wildlife-fund/index.html:2007年 9月14日 21:06 
記事番号892において毛流麦花さん曰く、

>いずれもindexing.plの改造で対応可能です。
>改造箇所を記します。
>
>>〜wwwlng.cgi?print+/200306/03060212.txt
>>のようになってしまい上手くURL指定が出来ません。
>>〜wwwlng.cgi?print+200306/03060212.txt
>>の形にしたいのですが良い方法はないでしょうか。
>>
>>また、対象ファイルがtxt形式のためすべて「タイトルなし」になってしまいます。
>>txtファイル内の「Subject:〜[改行]」までの文字ををタイトルとして
>>インデックス化したいのですが、良い方法はあるでしょうか?
>
>(1)Sub makedata()内(540行目付近)の以下の箇所に「★★ここから追加」から「★★ここまで追加」までを追加します。
>
>
>## URLの作成
>$url = $file;
>$url =~ s/^$target_dir/$target_url/;
>
>## ★★ここから追加
>$url =~ s{cgi\?print\+{cgi\?print\+};
>open(FILE,"
--------------------
  −894. Re:掲示板の過去ログを検索したいのですが問題が。
  (Rep.to No.889.)
penguin-19:Web:msearch導入記:2003年 9月13日 18:33 

 僕も考えてみました。

●考え方
1. indexing.plを改造して、Subject部分を取り出してtitleとして登録する。
2. indexing.plを改造して、対象ディレクトリのurl部分を、必ずしも「/」で終わらなくてもいいようにする。

●indexing.plの改造 その1

## タイトルを取得する
$contents =~ /<title.*?>(.*?)<\/title>/i;
$title = $1;

 の部分を次のようにします。オリジナルはtitleタグで囲まれた部分をタイトルとして取得しますが、これをSubject:から========================================までの部分をタイトルとして認識するようにします。

## タイトルを取得する
#$contents =~ /<title.*?>(.*?)<\/title>/i; # ←この行を殺して↓を追加
$contents =~ /Subject:(.*?)========================================/;
$title = $1;

●indexing.plの改造 その2

# インデックス対象ファイルのURL
if($qarg->{'includeurl'} ne "") {
$g_include_url = $qarg->{'includeurl'};
# 最初は"http"で始まる様に
$g_include_url = "http://" .
$g_include_url if($g_include_url !~ /^http;
# 最後は"/"で終わる様に
$g_include_url .= "/" if($g_include_url !~ /\/$;

 の最後の部分を次のようにします。単純に行頭に「#」をつけてコメントにし、機能を殺すだけ。

# 最後は"/"で終わる様に
#$g_include_url .= "/" if($g_include_url !~ /\/$;
# ↑この行を殺す。

 こんなもんでどーでしょー。

1.の改造でSubject:移行の部分がtitleとして認識され、2.の部分で最後に「/」を付加しなくなりますので「wwwlng.cgi?print+」という指定をしても大丈夫のはずです。
--------------------
  −895. Re(2):htmlのタイトル取得もできるように変更
  (Rep.to No.894.)
penguin-19:Web:msearch導入記:2003年 9月13日 20:56 

 前回の改造では、お使いの掲示板CGI専用に改造してしまいましたが、これだと今度は普通のhtmlファイルのインデックス時にtitleタグを取得できません(^^;

 msearch ver.1.5はインデックスの切り替えができますから一つのCGIで複数のインデックスをもてます。

 てーことはhtmlのインデックスもやりたい場合があるかもしれませんね。htmlのインデックスがやりたくなったときにも支障がないようにしてみます。

 そこで、改造その1をやり直し。

●indexing.plの改造 その1-2

## タイトルを取得する
$contents =~ /<title.*?>(.*?)<\/title>/i;
$title = $1;

 という部分を次のようにします。

## タイトルを取得する
$contents =~ /<title.*?>(.*?)<\/title>/i;
$title = $1;
# ここから追加
if ($title eq "" ) {
$txt_pre = "Subject:"; # 合致パターンの頭
$txt_aft = "========================================"; # 合致パターンのお尻
$contents =~ /$txt_pre(.*?)$txt_aft/;
$title = $1;
}
# ここまで追加

 これで、titleタグが取得できなかった場合だけ「Subject:」と「==(中略)==」にはさまれた部分をタイトルとするようになります。

$txt_pre = "Subject:"; # 合致パターンの頭
$txt_aft = "========================================"; # 合致パターンのお尻
 この部分を変更すれば、ほかのパターンでタイトルが登録されているtxtファイルにも対応できます。

 改造その2はそのままでOK。ただし、「対象ディレクトリのURL」の指定時に、自動的に最後に「/」を付ける機能がなくなってます。htmlのインデックスをするときには、きちんと最後の「/」まで指定するように注意してください。
--------------------
  −908. Re(3):htmlのタイトル取得もできるように変更
  (Rep.to No.895.)
あるびの:Web:園芸相談センター:2003年 9月15日 01:00 
丁寧なご返答、恐れ入ります。
早速両氏の方法で試してみたのですが、どうもURL指定が上手くいかず
「wwwlng.cgi?print+」の後に「/」が入ってしまいます。他にも
直すところがあるのでしょうか?

また、タイトル取得の方は上手くいったのですが、txtファイルによっては
「subject:〜
========================================」
の間に
「Reply-To: 〜」
と言う一行が入る場合があり、これもタイトルに入ってしまってしまいました。
これを回避するにはどのような方法が良いでしょうか?

まことにややこしい質問で申し訳ありませんが、今一度よろしくお願いいたします。
--------------------
  −909. Re(4):htmlのタイトル取得もできるように変更
  (Rep.to No.908.)
毛流麦花:Web:ニルスの友の会:2003年 9月15日 01:25 
>早速両氏の方法で試してみたのですが、どうもURL指定が上手くいかず
>「wwwlng.cgi?print+」の後に「/」が入ってしまいます。他にも
>直すところがあるのでしょうか?
>
>また、タイトル取得の方は上手くいったのですが、txtファイルによっては
>「subject:〜
>========================================」
>の間に
>「Reply-To: 〜」
>と言う一行が入る場合があり、これもタイトルに入ってしまってしまいました。
>これを回避するにはどのような方法が良いでしょうか?

お手数をおかけしますが、あらためてオリジナルの(未改造の)indexing.plに対して
893番の記事の改造を施し、試してみていただけますか?
892番の記事の改造だとうまく動作しません。

http://www.kiteya.net/cgi-bin/msbbs/padd-bbs.cgi?p=893

--------------------
  −910. 無事設置できました!
  (Rep.to No.909.)
あるびの:Web:園芸相談センター:2003年 9月15日 19:28 
未改造のものにもう一度入れ直したら希望通りにURL指定できるようになりました。
毛流麦花様、penguin-19様、大変お世話になりました。また分からない事があったら
ご教授ください(図々しい^-^;)
--------------------
  −3189. Re(5):htmlのタイトル取得もできるように変更
  (Rep.to No.909.)
diller:Web:www.desklamp1.fora.pl:2007年 8月14日 11:07 
記事番号909において毛流麦花さん曰く、

>>早速両氏の方法で試してみたのですが、どうもURL指定が上手くいかず
>>「wwwlng.cgi?print+」の後に「/」が入ってしまいます。他にも
>>直すところがあるのでしょうか?
>>
>>また、タイトル取得の方は上手くいったのですが、txtファイルによっては
>>「subject:〜
>>========================================」
>>の間に
>>「Reply-To: 〜」
>>と言う一行が入る場合があり、これもタイトルに入ってしまってしまいました。
>>これを回避するにはどのような方法が良いでしょうか?
>
>お手数をおかけしますが、あらためてオリジナルの(未改造の)indexing.plに対して
>893番の記事の改造を施し、試してみていただけますか?
>892番の記事の改造だとうまく動作しません。
>
>http://www.kiteya.net/cgi-bin/msbbs/padd-bbs.cgi?p=893

--------------------
  −3377. Re(5):htmlのタイトル取得もできるように変更
  (Rep.to No.909.)
assqq:2007年 9月 4日 02:27 
記事番号909において毛流麦花さん曰く、

>>早速両氏の方法で試してみたのですが、どうもURL指定が上手くいかず
>>「wwwlng.cgi?print+」の後に「/」が入ってしまいます。他にも
>>直すところがあるのでしょうか?
>>
>>また、タイトル取得の方は上手くいったのですが、txtファイルによっては
>>「subject:〜
>>========================================」
>>の間に
>>「Reply-To: 〜」
>>と言う一行が入る場合があり、これもタイトルに入ってしまってしまいました。
>>これを回避するにはどのような方法が良いでしょうか?
>
>お手数をおかけしますが、あらためてオリジナルの(未改造の)indexing.plに対して
>893番の記事の改造を施し、試してみていただけますか?
>892番の記事の改造だとうまく動作しません。
>
>http://www.kiteya.net/cgi-bin/msbbs/padd-bbs.cgi?p=893

--------------------
  −3478. Re(5):htmlのタイトル取得もできるように変更
  (Rep.to No.909.)
diller:Web:allfunds.free-site-host.com:2007年 9月 9日 10:01 
記事番号909において毛流麦花さん曰く、

>>早速両氏の方法で試してみたのですが、どうもURL指定が上手くいかず
>>「wwwlng.cgi?print+」の後に「/」が入ってしまいます。他にも
>>直すところがあるのでしょうか?
>>
>>また、タイトル取得の方は上手くいったのですが、txtファイルによっては
>>「subject:〜
>>========================================」
>>の間に
>>「Reply-To: 〜」
>>と言う一行が入る場合があり、これもタイトルに入ってしまってしまいました。
>>これを回避するにはどのような方法が良いでしょうか?
>
>お手数をおかけしますが、あらためてオリジナルの(未改造の)indexing.plに対して
>893番の記事の改造を施し、試してみていただけますか?
>892番の記事の改造だとうまく動作しません。
>
>http://www.kiteya.net/cgi-bin/msbbs/padd-bbs.cgi?p=893

--------------------
  −3664. Re(5):htmlのタイトル取得もできるように変更
  (Rep.to No.909.)
Fall:Web:allfunds.free-site-host.com/elementary-school-fund-raiser/index.html:2007年 9月13日 09:56 
記事番号909において毛流麦花さん曰く、

>>早速両氏の方法で試してみたのですが、どうもURL指定が上手くいかず
>>「wwwlng.cgi?print+」の後に「/」が入ってしまいます。他にも
>>直すところがあるのでしょうか?
>>
>>また、タイトル取得の方は上手くいったのですが、txtファイルによっては
>>「subject:〜
>>========================================」
>>の間に
>>「Reply-To: 〜」
>>と言う一行が入る場合があり、これもタイトルに入ってしまってしまいました。
>>これを回避するにはどのような方法が良いでしょうか?
>
>お手数をおかけしますが、あらためてオリジナルの(未改造の)indexing.plに対して
>893番の記事の改造を施し、試してみていただけますか?
>892番の記事の改造だとうまく動作しません。
>
>http://www.kiteya.net/cgi-bin/msbbs/padd-bbs.cgi?p=893

--------------------
  −3665. Re(5):htmlのタイトル取得もできるように変更
  (Rep.to No.909.)
Fall:Web:allfunds.free-site-host.com/elementary-school-fund-raiser/index.html:2007年 9月13日 09:56 
記事番号909において毛流麦花さん曰く、

>>早速両氏の方法で試してみたのですが、どうもURL指定が上手くいかず
>>「wwwlng.cgi?print+」の後に「/」が入ってしまいます。他にも
>>直すところがあるのでしょうか?
>>
>>また、タイトル取得の方は上手くいったのですが、txtファイルによっては
>>「subject:〜
>>========================================」
>>の間に
>>「Reply-To: 〜」
>>と言う一行が入る場合があり、これもタイトルに入ってしまってしまいました。
>>これを回避するにはどのような方法が良いでしょうか?
>
>お手数をおかけしますが、あらためてオリジナルの(未改造の)indexing.plに対して
>893番の記事の改造を施し、試してみていただけますか?
>892番の記事の改造だとうまく動作しません。
>
>http://www.kiteya.net/cgi-bin/msbbs/padd-bbs.cgi?p=893

--------------------
  −3852. Re(5):htmlのタイトル取得もできるように変更
  (Rep.to No.909.)
Xerrop:Web:allfunds.free-site-host.com/fund-of-hedge-funds/index.html:2007年 9月16日 02:55 
記事番号909において毛流麦花さん曰く、

>>早速両氏の方法で試してみたのですが、どうもURL指定が上手くいかず
>>「wwwlng.cgi?print+」の後に「/」が入ってしまいます。他にも
>>直すところがあるのでしょうか?
>>
>>また、タイトル取得の方は上手くいったのですが、txtファイルによっては
>>「subject:〜
>>========================================」
>>の間に
>>「Reply-To: 〜」
>>と言う一行が入る場合があり、これもタイトルに入ってしまってしまいました。
>>これを回避するにはどのような方法が良いでしょうか?
>
>お手数をおかけしますが、あらためてオリジナルの(未改造の)indexing.plに対して
>893番の記事の改造を施し、試してみていただけますか?
>892番の記事の改造だとうまく動作しません。
>
>http://www.kiteya.net/cgi-bin/msbbs/padd-bbs.cgi?p=893

--------------------
  −3971. Re(5):htmlのタイトル取得もできるように変更
  (Rep.to No.909.)
freez:Web:tesoro.eamped.com:2007年10月30日 22:35 
記事番号909において毛流麦花さん曰く、

>>早速両氏の方法で試してみたのですが、どうもURL指定が上手くいかず
>>「wwwlng.cgi?print+」の後に「/」が入ってしまいます。他にも
>>直すところがあるのでしょうか?
>>
>>また、タイトル取得の方は上手くいったのですが、txtファイルによっては
>>「subject:〜
>>========================================」
>>の間に
>>「Reply-To: 〜」
>>と言う一行が入る場合があり、これもタイトルに入ってしまってしまいました。
>>これを回避するにはどのような方法が良いでしょうか?
>
>お手数をおかけしますが、あらためてオリジナルの(未改造の)indexing.plに対して
>893番の記事の改造を施し、試してみていただけますか?
>892番の記事の改造だとうまく動作しません。
>
>http://www.kiteya.net/cgi-bin/msbbs/padd-bbs.cgi?p=893

--------------------

Paddie's BBS Ver. 8.1.6.
(C) 1999-2001 Paddie.