";
/*
if ( preg_match('/MSIE/', $agent) ){
$mes = "IE : SJIS
";
} elseif( preg_match('/Firefox/', $agent) ) {
$mes = "Firefox : EUC-JP
";
} elseif( preg_match('/Safari/', $agent) ) {
$mes = "Safari
";
} else {
$mes = "Unknown browser
";
}
*/
// echo $mes;
$len = mb_strlen($str);
// echo "str = ".$str."
";
// echo "strlen = ".strlen($str).", mb_strlen = ".mb_strlen($str)."
";
//----------------- データベースの読み込み ---------------
$f = fopen("kanji.txt","rb");
while( !feof($f) ){
$line = trim(fgets($f));
$head1 = mb_substr($line,0,1);
$head2 = mb_substr($line,0,2);
if ( $head1 == ";" ) continue;
if ( $head2 == "#_" ){
// 新しい学年を見つけた
$tmp = explode(' ',$line);
$gakunen = $tmp[1];
// echo "find gakunen {$gakunen}\n";
$kanji[$gakunen] = array(); // 新規配列作成
continue;
}
if ( $line == "" ) continue; // 空行はパス
$line = mb_convert_encoding($line,'UTF-8','SJIS');
$array_add = explode(' ',$line);
$kanji[$gakunen] = array_merge($kanji[$gakunen],$array_add);
}
fclose($f);
// 確認
/*
for($i = 1; $i <= 6; $i++){
$count = count($kanji[$i]);
echo "gakunen = {$i} kanji = $count
\n";
for( $j = 0; $j < $count; $j++){
echo $kanji[$i][$j]." ";
}
echo "
\n";
}
*/
//------------------- 検索 ---------------------
$out_str = "";
for($i = 0; $i < $len; $i++){
$cha = mb_substr($str,$i,1);
if ( mb_ereg("[あ-んア-ン、,.。:;[]「」<>()ーA-Za-z0-9,. ]",$cha) ){
continue; // 漢字以外は無視
}
$find = 0;
for($j = 1; $j <= 6; $j++){
$count = count($kanji[$j]);
for( $k = 0; $k < $count; $k++){
if ( $cha == $kanji[$j][$k] ){
$find = 1;
$gakunen = $j;
break;
}
}
if ( $find == 1 ) break;
}
if ( $find == 1 ){
$line = sprintf("(%s) は第 %d 学年で習います。
",$cha,$gakunen);
} else {
if ( $mode == "disp_all" ){
$line = sprintf("(%s) は小学校では教えません。
",$cha);
} else {
$line = "";
}
}
$out_str = $out_str . $line;
}
echo $out_str;
?>