Changeset 93641 in spip-zone for _core_/plugins/grenier/inc/ressembler.php
- Timestamp:
- Dec 13, 2015, 2:41:19 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
_core_/plugins/grenier/inc/ressembler.php
r89285 r93641 29 29 **/ 30 30 // http://code.spip.net/@levenshtein255 31 function levenshtein255 31 function levenshtein255($a, $b) { 32 32 $a = substr($a, 0, 254); 33 33 $b = substr($b, 0, 254); 34 return @levenshtein($a, $b);34 return @levenshtein($a, $b); 35 35 } 36 36 … … 64 64 **/ 65 65 // http://code.spip.net/@mots_ressemblants 66 function mots_ressemblants($mot, $table_mots, $table_ids ='') {66 function mots_ressemblants($mot, $table_mots, $table_ids = '') { 67 67 68 68 $result = array(); … … 77 77 $len = strlen($mot); 78 78 79 while (!$nb AND$lim < 10) {79 while (!$nb and $lim < 10) { 80 80 reset($table_mots); 81 81 if ($table_ids) reset($table_ids); … … 90 90 if ($val2 == $mot) 91 91 $m = -2; # resultat exact 92 else 92 elseif (substr($val2, 0, $len) == $mot) 93 93 $m = -1; # sous-chaine 94 94 else { … … 96 96 $m = levenshtein255($val2, $mot); 97 97 # ne pas compter la distance due a la longueur 98 $m -= max(0, $len2 - $len); 98 $m -= max(0, $len2 - $len); 99 99 } 100 100 $distance[$id] = $m; … … 118 118 $moy = 1; 119 119 while(list(, $val) = each($selection)) $moy *= $val; 120 if($moy) $moy = pow($moy, 1.0 /$nb);120 if($moy) $moy = pow($moy, 1.0 / $nb); 121 121 $lim = ($opt + $moy) / 2; 122 122 } … … 131 131 return $result; 132 132 } 133 134 135 136 ?>
Note: See TracChangeset
for help on using the changeset viewer.