2

我有一个充满用逗号分隔的值的字符串。不用说这可以用$strings = explode(',',$fullstring);.

现在,我需要将用户提交的值与该值进行比较,以查看它的“平等程度”。理想情况下,我想检查最多一个字母/符号/数字/...是否不相等。例如,如果硬编码字符串是 'table':

  • 'table' 是真的
  • 'tablz' 是真的
  • “标签”将是错误的

如果你明白我的意思。当然,字符串也可以包含空格、撇号、数值。我真的不知道我应该如何开始。我已经设置了一个过滤器来检查值是否相等(使用if(in_array(strtolower($userValue),array_map('strtolower',$strings)))),但是在 else 子句中我需要一些方法来检测我刚才解释的内容。

4

2 回答 2

3

听起来您正在寻找的功能最好由 levenshtein 提供。

查看http://php.net/manual/en/function.levenshtein.php以获取示例以及如何使用它的说明。

于 2013-06-09T15:58:40.257 回答
3

计算两个字符串之间的 Levenshtein 距离:http: //php.net/manual/en/function.levenshtein.php并检查距离是否小于某个阈值。

于 2013-06-09T15:59:04.023 回答