sama_sally
Registered User
دیشب که بیخودی تویه manual **چرخ میزدم ... به این تابع بر خوردم: ()levenshtein این تابع فاصله (distance) بین حروف یا اعداد دو متغیر رو بررسی میکنه. این کد هم تویه منوال بود که یه کار شبیه به دیکشنری گوگل میکنه:
تا حالا تویه گوگل دیدید که وقتی کلمه ای رو اشتباه مینویسید این میاد: did you mean ...?
اینم یه چیزی مثل اونه:
اید کد رو اجرا کنید ببینید چی میشه.!!
به نظرم جالب اومد گفتم با شما هم در میون بذارم!
تا حالا تویه گوگل دیدید که وقتی کلمه ای رو اشتباه مینویسید این میاد: did you mean ...?
اینم یه چیزی مثل اونه:
PHP:
<?php
// input misspelled word
$input = 'پرشیت تولر';
// array of words to check against
$words = array('سالار','کابلی','مجید آنلاین','پرشین تولز',
'radish','carrot','pea','bean','potato');
// no shortest distance found, yet
$shortest = -1;
// loop through words to find the closest
foreach ($words as $word) {
// calculate the distance between the input word,
// and the current word
$lev = levenshtein($input, $word);
// check for an exact match
if ($lev == 0) {
// closest word is this one (exact match)
$closest = $word;
$shortest = 0;
// break out of the loop; we've found an exact match
break;
}
// if this distance is less than the next found shortest
// distance, OR if a next shortest word has not yet been found
if ($lev <= $shortest || $shortest < 0) {
// set the closest match, and shortest distance
$closest = $word;
$shortest = $lev;
}
}
echo "Input word: $input\n";
if ($shortest == 0) {
echo "Exact match found: $closest\n";
} else {
echo "Did you mean: $closest?\n";
}
?>
به نظرم جالب اومد گفتم با شما هم در میون بذارم!