"; /* 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; ?>