我想创建一个简单的搜索引擎,在用户输入中查找关键词.我知道我可以使用strpos来检查字符串中是否存在单词.但是,我希望用户能够拼写错误的单词.例如,
$userInput = "What year did George Washingtin become president?";
$key_word = "Washington";
someFuntion($userInput, $key_word, $percent);
if($percent > .95){
$user_searched_washington = True;
}
是否有任何PHP功能,或者你有关于如何创建一个功能的建议吗?
解决方法:
您可以尝试利用PHP标准库中的levenshtein功能.请参阅此处以获取文档中的一些示例:http://php.net/manual/en/function.levenshtein.php
但是,当您的可能关键字列表增长时,这可能会成为非常昂贵的计算.
编辑:一个最小可行的例子:
<?php
$myInput = 'persident';
$possibleKeywords = ['tyrant', 'president', 'king', 'royal'];
$scores = [];
foreach ($possibleKeywords as $keyword) {
$scores[] = levenshtein($myInput, $keyword);
}
echo $possibleKeywords[array_search(min($scores), $scores)];
// prints: "president"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。