ホームに戻る > スレッド一覧 > 記事閲覧
[12] 検索対象コードの簡素化
日時: 2010/10/08 12:27
名前: MS ID:T6OSzjW.
参照: http://cocktail-s.net/

なんとなく来たので;

# ここで記事の内容まで展開して、検索対象にすればいいのかな。
open(KOBETU,"$logdir/$no\.cgi");
$top2 = <KOBETU>;
while (<KOBETU>) {
(undef,$sub2,undef,undef,$com2,undef) = split(/<>/);
$target .= $sub2 if ($in{'r'});
$target .= $com2 if ($in{'c'});
}
close(KOBETU);
####


if($in{'c'}||$in{'res'}){
open(DAT,"$logdir/$no.cgi") || &error("Open Error: $no.cgi");
$top1=<DAT>;
while (<DAT>){
($no1,$sub,$res,$key) = split(/<>/, $top1);
($no2,$sub2,$nam2,$eml2,$com) = (split(/<>/))[0..4];
$target .= $com if ($in{'c'});
$target .= $sub2 if ($in{'s'});
$target .= $nam2 if ($in{'n'});
last if (!$in{'res'});
}
close(DAT);
} else {
$target .= $sub if ($in{'s'});
$target .= $nam if ($in{'n'});
}

こちらがわたくしが実装し、使用しているものです。配布はしていません
たまたま、きりしまさんとおなじく、検索項目指定を4つに変更したため
検索ページは、そっくりな形です。
ソースコードを見ていただくとわかりますが、in{'res'}はレスを含めるかどうかを、in{'c'}は本文を、排他的に独立させてます、
さらに、本文・レスを含めないときにログは開かないようにもしました。
本文検索を選択させるなら、こちらの方がいいようなと思いまして・・・
メンテ

Page: 1 | 全部表示 スレッド一覧 新規スレッド作成

ちょっと試して見ました ( No.1 )
日時: 2010/10/19 12:30
名前: きりしま◆.CzKQna1OU ID:o9PX5jR. メールを送信する

ちょっと試して見ました。
テスト板で試運転中です。
メンテ
レスのタイトル ( No.2 )
日時: 2010/11/19 16:46
名前: MS@ ID:GIx0p4dU

提案してみただけなので
まさか、既に実装してもらっているとは思ってなかったので、念の為にお返事します。
もともときりしま式、仕様で、本文検索はレスも含め全文検索仕様ではないでしょうか?
わたくし、MSの仕様は、+レスとし、これが外れている時はレスの検索範囲を指定できません。
つまりもしそのまま入れると、レスのタイトル、が外れているとレス本文は検索されない仕様です。last if (!$in{'r'}); ですから;
きりしま式のまま、レスのタイトルを+レスとして採用しない時は、last if (!$in{'r'});は必要ないことになります
私の仕様のニュアンスはトピックスかつ+レス、の時だけレスのタイトルが範囲になります
名前も+レスと組み合わせて検索が出来ます


元々、本文検索がきりしま式では確か本文を検索させると
必ず最後まで検索されますし、タイトルもレスを含むと$targetに親記事が二度含まれるため完全に分けてみたんです
メンテ

Page: 1 | 全部表示 スレッド一覧 新規スレッド作成

題名 タイトルは次の画面で設定してください
名前  「名前#任意の文字列」でトリップ生成
E-Mail 入力すると メールを送信する からメールを受け取れます(アドレス非表示)
URL
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存