(phpのlevenshtein関数は2バイトの文字を1バイトの文字2つとして扱います)
例えば、UTF8の「あいうえお」と「あいうZお」の距離を3から1に変更する関数です。
渡す文字コードと内部の設定が違うと使えません。
なお、かなり遅く5~50倍かかります。
さらに、長い文字を扱うために、例えば、define("__MB_LEVENSHTEIN__LEVENSHTEIN_MAX_LENGTH", 65535);などを設定してから長い文字で実行すると、さらに遅くなります。
https://docs.google.com/open?id=0BwK7sPpG0c5ZNWNjMzE5OWQtNWZmZC00ZTdlLTgzOTgtMWIwNTNlYmU4NDBi
テスト方法はダウンロードしたファイルと同じディレクトリでコマンドを実行します。
$ php test.mb_levenshtein.php
2011-11-30: JISの場合の不具合を修正。
2 件のコメント:
mb_levenshtein.2010-04-01.tar.gz
ってダウンロード出来ないんですか?
リンク先で先に進めなかったのですが
ファイルを設置しているサービスのサーバー障害かもしれませんので後日お試し下さい。
もしくはセキュリティソフトやプロキシでhttpからhttpsなどへのLocationヘッダーがブロックされていませんか?
もしくはhttp://www.google.co.jp/search?num=100&hl=ja&gbv=2&biw=1272&bih=746&q=mb_levenshtein.2010-04-01.tar.gz&oq=mb_levenshtein.2010-04-01.tar.gz&aq=f&aqi=&aql=&gs_sm=e&gs_upl=492903l492903l0l493684l1l1l0l0l0l0l204l204l2-1l1l0でどうでしょう?
コメントを投稿