差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
dokuwiki:localize [2007/07/29 12:14] – osamu | dokuwiki:localize [2007/07/31 15:36] (現在) – osamu | ||
---|---|---|---|
行 72: | 行 72: | ||
^D</ | ^D</ | ||
のように、入力した文字が分かち書きされて表示されればOK。 | のように、入力した文字が分かち書きされて表示されればOK。 | ||
+ | |||
+ | |||
行 163: | 行 165: | ||
また、indexer.phpにwordlen()という関数があるが、これも同じくアジア圏の文字は1文字1単語とみなす処理が入っているので | また、indexer.phpにwordlen()という関数があるが、これも同じくアジア圏の文字は1文字1単語とみなす処理が入っているので | ||
<code php> | <code php> | ||
- | | + | function wordlen($w){ |
- | $l += ord($w) - 0xE1; // Lead bytes from 0xE2-0xEF | + | // $l = strlen($w); |
+ | |||
+ | $l = utf8_strlen($w); | ||
+ | |||
+ | //// If left alone, all chinese " | ||
+ | //// So the " | ||
+ | //if(preg_match('/' | ||
+ | // | ||
+ | |||
+ | return $l; | ||
+ | } | ||
</ | </ | ||
- | の2行もコメントアウトする。 | + | と変更。 |
+ | |||
+ | それから、同じくindexer.php | ||
+ | <code php> | ||
+ | if ($wlen < 3 && $wild == 0 && !is_numeric($xword)) continue; | ||
+ | </ | ||
+ | という部分があるが、このままだと3文字より短い単語を検索できない。英語などではそれでもよいのだが、日本語の場合1~2文字の単語も検索できないと困るので、これを | ||
+ | <code php> | ||
+ | if (preg_match('/ | ||
+ | </ | ||
+ | と書き換える。 | ||
//2005-12-8 - Mecabのプロセスがハングアップして残ってしまうのを避けるために'' | //2005-12-8 - Mecabのプロセスがハングアップして残ってしまうのを避けるために'' |