我正在寻找一个PHP库,它允许我比较两个字符串,并确定它们是否相似。 例如:
apple apple 100%
apple aple 80%
等等。 任何想法?
答案 0 :(得分:10)
http://www.php.net/manual/en/function.similar-text.php
similar_text - 计算两个字符串之间的相似性
<强>描述强>
int similar_text ( string $first , string $second [, float &$percent ] )
这计算两个字符串之间的相似性,如编程经典:由Oliver实施世界上最好的算法(ISBN 0-131-00413-1)中所述。请注意,此实现不像Oliver的伪代码那样使用堆栈,而是递归调用,这可能会也可能不会加速整个过程。另请注意,此算法的复杂性为O(N ** 3),其中N是最长字符串的长度...
正是这样。
答案 1 :(得分:3)
您可以考虑使用levenshtein,similar-text,soundex或metaphone函数。
答案 2 :(得分:2)
similar_text('apple', 'apple', $percentage);
echo $percentage. // 100
similar_text('apple', 'aple', $percentage);
echo $percentage. // 88.88
答案 3 :(得分:1)
此外,如果您将此比较作为数据库中数据提取的一部分进行比较,则许多数据库引擎都具有SOUNDS LIKE(或SOUNDEX)实现。在数据库服务器中执行此操作比在PHP中执行此操作要快。