Code:
int levenshtein ( string $str1 , string $str2 )
string soundex ( string $str )
string metaphone ( string $str [, int $phones=0 ] )
int similar_text ( string $first , string $second [, float &$percent ] )
Contoh:
PHP Code:
<?php/**
* @author Jasman
* @copyright Ihsana IT Solution 2012
* @example levenshtein, soundex,similar_text & metaphone
*/
// levenshteinecho "<h3>levenshtein, soundex, similar_text & metaphone </h3>";
$input = 'Jasmine yang menulis artikel ini.';$peoples = array('Jefry','K4pTeN','Jasman','ArRay','vBa','NacKo');$shortest = -1;
foreach ($peoples as $people) {
$lev = levenshtein($input, $people);
if ($lev == 0) {
$person = $people;
$shortest = 0;
break;
}
if ($lev <= $shortest || $shortest < 0) {
$person = $people;
$shortest = $lev;
}
}
echo "Q: $input<br/>";
echo "A: Apakah maksud anda, <strong>$person</strong>?<em>(**levenshtein)</em><br/>";// soundexforeach ($peoples as $people) {
if (soundex($people) == soundex("Jasmine")){
echo "A: Yup <strong>$people</strong>, Emang sih <strong>kedengaran</strong> mirip, antara <strong>".$people."</strong> dengan <strong>Jasmine</strong> = ". soundex($people)."<em>(**soundex)</em><br/>" ;
break;
}
}// similar_textsimilar_text($people,"jasmine",$persen);
echo "Q: Iya juga sih, <strong>berdasarkan kata</strong> juga mirip ".$persen."%<em>(**similar_text)</em><br/>" ;
echo "A: Huuh, tapi jangan paksa saya aqiqah lagi.<br/>" ;
echo "Q: Ya gk lah bro, coba bro tulis dgn tulisan <strong>$people</strong> dlm bentuk sms?<br/>";// metaphoneecho "A: ini stringnya dlm bentuk <strong>metaphone</strong>: <strong>".metaphone($people) ."</strong><em>(**metaphone)</em><br/>" ;
echo "Q: Tu kan sama lg. ya dah mas bro, maaf salah tulis.<br/>";
echo "A: Yarp(nyontek K4pTeN Style), ane maapin, jangan di ulangi lagi, klw diulangi q doain ilmunya gk berkah lho.<br/>";
echo "Q: Sip...2x";?>
Kegunaannya buat apa sih, perhatikan output dibawah:
levenshtein, soundex, similar_text & metaphone
Q: Jasmine yang menulis artikel ini.
A: Apakah maksud anda, Jasman?(**levenshtein)
A: Yup Jasman, Emang sih kedengaran mirip, antara Jasman dengan Jasmine = J255(**soundex)
Q: Iya juga sih, berdasarkan kata juga mirip 61.538461538462%(**similar_text)
A: Huuh, tapi jangan paksa saya aqiqah lagi.
Q: Ya gk lah bro, coba bro tulis dgn tulisan Jasman dlm bentuk sms?
A: ini stringnya dlm bentuk metaphone: JSMN(**metaphone)
Q: Tu kan sama lg. ya dah mas bro, maaf salah tulis.
A: Yarp(nyontek K4pTeN Style), ane maapin, jangan di ulangi lagi, klw diulangi q doain ilmunya gk berkah lho.
Q: Sip...2x
source:http://devilzc0de.org/forum/thread-16756.html