PHP ::在搜索中处理拼写错误

时间:2010-10-28 19:07:37

标签: php regex search

我有一个字段输入你朋友的名字并搜索他以将他添加为朋友 问题是,如果你不确定如何拼写他的名字,如: Kris ,而不是 Chris
我认为正确的方法是使用RegEx,但我不知道如何...

  • 如何处理PHP中的那些拼写错误
    (如果在PHP中不可能,请告诉我如何在jQuery中执行此操作)

2 个答案:

答案 0 :(得分:6)

我认为正则表达式不是检查拼写错误和类似字符串的好方法。我会考虑像levenshtein这样的东西 - PHP甚至有一个原生函数,levenshtein

编辑:根据您正在寻找的内容,还有其他算法也在PHP中是原生的:soundex(尽管被认为被Double Metaphone等新方法所取代),metaphone,{ {1}}。

答案 1 :(得分:2)

正则表达式不适用于此。你最好的办法是创建一组名字,用他们的拼写将相似的名字分组。所以Chris这个名字会搜索Kris,Chris,Kriss等等。

hash_map可能是个不错的选择。 Levenshtein的距离可以分类,但你会得到很多误报:( Camella vs Pamella)。