韓日ミニ辞典開発歴に戻る

「前の語の表示」部分で,検索語がインデックスファイルの先頭項目である場合は,ひとつ前のインデックスファイルを開いて表示します。

if ($found) {
  print "【前の語】";

#print "$found $afterWord $index"; #$found==1 であれば前の語は無表示

# $found==1 であれば $index_wordの指数を1ずつ減らしていってファイルが見つかれば表示
  if ($found == 1) {
    check_bef_file($index, $hngl_code, $targ_dir);
  } else {
  if ($found -5 < 0) {$afterWord = 0;} else {$afterWord = $found-6;}
    for ($befword=$afterWord;$befword<$found-1;$befword++){
      $wd = $d_word[$befword];
      $keyword = mb_convert_encoding($wd, 'UTF-8', 'auto') ;
      print "<a href=\"$script?key=$keyword\">$wd</a>, ";
    }
  }
  print "<br><br>\n";

{この部分の解説は省略します}

  print "<br>\n";
  print "【後の語】";
  #print "$found : $i_max"; #$found==$i_max であれば後の語は無表示
  # $found==$i_max であれば $index_wordの指数を1ずつ増やしていってファイルが見つかれば表示
  if ($found == $Line_count) {
    check_aft_file($index, $hngl_code, $targ_dir);
  } else {
    if ($Line_count > $found+5) {$afterWord = $found+5;} else {$afterWord = $Line_count-1;}
      for ($befword=$found;$befword<=$afterWord;$befword++){
        $wd = urlencode("$d_word[$befword]");
        print "<a href=\"$script?key=$wd\">$d_word[$befword]</a>, ";
      }
    }
  } else {
    print $word."は未登録語です。<br>\n";
  }
} else {
  print $word."は未登録語です。<br>\n";
}
return $found;
}

#--------------------#

#  前の単語の検索  #

#--------------------#
function check_bef_file($index, $hngl_code, $targ_dir) { #$hngl_codeが数字
  $bef_code = $hngl_code;}
  while ($bef_code >= 0) {
    $bef_code = $bef_code-1;
    $index_word = $targ_dir."indexMini_".$bef_code.".txt";
    if (file_exists($index_word)) {
      $w_lines = file($index_word); //file()関数はファイルの内容を配列に読み込む。open/close不要
      $file_count = count($w_lines);
      for ($j = 0; $j <= $file_count; $j++) {
        $data2 = explode("<>", $w_lines[$j]);
        $b_word[$j]=$data2[1];
        $b_file[$j]=$data2[2];
      }
      $bef_start = $j;
      if ($bef_start -5 < 0) {$after_word = 0;} else {$after_word =
$bef_start-5;}
      for ($befword=$after_word;$befword<$bef_start-1;$befword++){
        $wd = urlencode("$b_word[$befword]");
        print "<a href=\"$script?key=$wd\">$b_word[$befword]</a>, ";
      }
      $bef_code = 1;
    }
  }
}

#--------------------#

#  後の単語の検索  #

#--------------------#
function check_aft_file($index, $hngl_code, $targ_dir) { #$hngl_codeが数字
  while ($hngl_code < 11172) {
    $hngl_code = $hngl_code+1;
    $index_word = $targ_dir."indexMini_".$hngl_code.".txt";
    if (file_exists($index_word)) {
      $w_lines = file($index_word); //file()関数はファイルの内容を配列に読み込む。open/close不要
      $file_count = count($w_lines);
      for ($j = 0; $j < $file_count; $j++) {
        $data2 = explode("<>", $w_lines[$j]);
        $b_word[$j]=$data2[1];
        $b_file[$j]=$data2[2];
      }
      $aft_end = $j;
      if ($aft_end > 5) {$aft_end = 5;}
      for ($aftword=0;$aftword<$aft_end;$aftword++){
        $wd = urlencode("$b_word[$aftword]");
        print "<a href=\"$script?key=$wd\">$b_word[$aftword]</a>, ";
      }
      $hngl_code = 11172;
    }
  }
}

韓日ミニ辞典開発歴に戻る


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-06-16 (木) 08:34:53 (3167d)