note 82605 added to function.levenshtein
| From: | atx dot antrax at gmail dot com | Date: | Thu, 17 Apr 2008 21:42:06 +0000 |
| Subject: | note 82605 added to function.levenshtein | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-138430@lists.php.net to get a copy of this message | ||
I have made a function that removes the length-limit of levenshtein function and ajust the result
with similar_text:
<?php
function _similar($str1, $str2) {
$strlen1=strlen($str1);
$strlen2=strlen($str2);
$max=max($strlen1, $strlen2);
$splitSize=250;
if($max>$splitSize)
{
$lev=0;
for($cont=0;$cont<$max;$cont+=$splitSize)
{
if($strlen1<=$cont || $strlen2<=$cont)
{
$lev=$lev/($max/min($strlen1,$strlen2));
break;
}
$lev+=levenshtein(substr($str1,$cont,$splitSize), substr($str2,$cont,$splitSize));
}
}
else
$lev=levenshtein($str1, $str2);
$porcentage= -100*$lev/$max+100;
if($porcentage>75)//Ajustar con similar_text
similar_text($str1,$str2,$porcentage);
return $porcentage;
}
?>
----
Server IP: 130.206.1.5
Probable Submitter: 87.219.183.73
----
Manual Page -- http://www.php.net/manual/en/function.levenshtein.php
Edit -- https://master.php.net/note/edit/82605
Del: integrated -- https://master.php.net/note/delete/82605/integrated
Del: useless -- https://master.php.net/note/delete/82605/useless
Del: bad code -- https://master.php.net/note/delete/82605/bad+code
Del: spam -- https://master.php.net/note/delete/82605/spam
Del: non-english -- https://master.php.net/note/delete/82605/non-english
Del: in docs -- https://master.php.net/note/delete/82605/in+docs
Del: other reasons-- https://master.php.net/note/delete/82605
Reject -- https://master.php.net/note/reject/82605
Search -- https://master.php.net/manage/user-notes.php