除了给定名称外,还要搜索相似的名称(可能的别名)。
实施例
给定名称=>本拉登警惕!
给定名称=> Ben Larden mhm ..可疑名字,与本拉登匹配xx%
我该怎么做?
Najmiddin Kamolitdinovich JALOLOV
我看了不同的算法:你认为Levenshtein可以做这个工作吗? 提前谢谢你!
ps我在格式化这个文本时遇到了一些问题,对不起: - )
答案 0 :(得分:7)
我认为最好的办法是让PHP使用本机函数
soundex()
- 计算字符串的soundex键levenshtein()
- 计算两个字符串之间的Levenshtein距离metaphone()
- 计算字符串的变音电话键similar_text()
- 计算两个字符串之间的相似性由于您可能会将名称与数据库(?)进行匹配,因此您可能还需要检查数据库是否提供任何名称匹配功能。
Google还提供了一个PDF,其中详细介绍了名称匹配算法:
答案 1 :(得分:2)
Levenshtein函数(http://php.net/manual/en/function.levenshtein.php)可以做到这一点:
$string1 = 'Bin Laden';
$string2 = 'Ben Larden';
levenshtein($string1, $string2); // result: 2
为此结果设置一个阈值,并确定名称是否相似。