如果给定的字符串在另一个字符串中,如何以某种程度的宽容最好地查看?

How to best see, with some level of lenience, if a given string is inside another string?

我正在尝试在 laravel 中创建一个程序,人们可以在其中回答问题。在控制器中,我想检查 givenAnswer 是否与任何实际答案匹配。

我在网上看到了一些建议。大多数人推荐使用 strpos。然而,我发现它并没有像我希望的那样工作。

例如,如果正确答案之一是 'Quorin Halfhand',则 strpos 将显示 return 正确的答案,例如 "Quo, Half, Hand, alf," 等

我希望有一个选项可以让我清理并说明我愿意接受的错误程度。

有什么有用的东西吗?

if (strpos($answers[$i], $request->answer) !== false) {
      return 'an answer matches!';
 } else {
      return 'no answer mathches'
 }

您可以尝试计算两个字符串之间的 levenshtein 距离,并将结果与​​您选择的阈值进行比较。