mb_levenshtein
v1.0.1
UTF-8サポートを備えたLevenshtein PHP機能。この関数は、2つの文字列間の類似性距離を見つけます。
levenshtein距離で戻ります。 (小さいほど、より近い)
mb_levenshtein ( string $ str1 , string $ str2 ) : int mb_levenshtein ( string $ str1 , string $ str2 , int $ cost_ins , int $ cost_rep , int $ cost_del ) : int0〜1の間のレベルシュタイン比のリターン(大きいほど近い)
mb_levenshtein_ratio ( string $ str1 , string $ str2 ) : float mb_levenshtein_ratio ( string $ str1 , string $ str2 , int $ cost_ins , int $ cost_rep , int $ cost_del ) : float <?php
include_once ( ' ./mb_levenshtein.php ' );
$ query = ' cafe ' ;
$ comps = [
' coffee ' ,
' café ' ,
' tea ' ,
' sake ' ,
];
echo " Query word: $ {query}" . PHP_EOL ;
foreach ( $ comps as $ comp ) {
$ sim = mb_levenshtein ( $ query , $ comp );
echo " $ {comp} : $ {sim}" . PHP_EOL ;
}結果:
$ # The smaller, the closer
$ php ./sample.php
Query word: cafe
coffee: 3
café: 1
tea: 4
sake: 2 リリースバージョンを使用するには:
composer require keinos/mb_levenshtein最新バージョンを使用するには:
composer require keinos/mb_levenshtein:dev-master <?php
require_once ( ' vendor/autoload.php ' );
$ query = ' cafe ' ;
$ comps = [
' coffee ' ,
' café ' ,
' tea ' ,
' sake ' ,
];
echo " Query word: $ {query}" . PHP_EOL ;
foreach ( $ comps as $ comp ) {
$ sim = mb_levenshtein ( $ query , $ comp );
echo " $ {comp} : $ {sim}" . PHP_EOL ;
}結果:
$ ls
sample.php
$ composer require keinos/mb_levenshtein
Using version ^1.0 for keinos/mb_levenshtein
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing keinos/mb_levenshtein (1.0.0): Downloading (100%)
Writing lock file
Generating autoload files
$ # The smaller, the closer
$ php ./sample.php
Query word: cafe
coffee: 3
café: 1
tea: 4
sake: 2
$ ls
composer.json composer.lock sample.php vendor
$ cat composer.json
{
"require": {
"keinos/mb_levenshtein": "^1.0"
}
}