Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回字符串最像PHP中的另一个字符串_Php_String_Spell Checking - Fatal编程技术网

返回字符串最像PHP中的另一个字符串

返回字符串最像PHP中的另一个字符串,php,string,spell-checking,Php,String,Spell Checking,我正在尝试用PHP构建一个拼写检查系统 我已经有了很多英语单词的词典/语料库。每一个单词都换一行 我要做的是,一旦给定一个字符串,让我们称它为$string1,打开文本文件,搜索最像$string1的字符串并返回该字符串 对于搜索文本文件,我的想法是将内容导入数组,然后在_array()中使用。如果有更好的方法搜索文本文件而不将所有单词导入内存,请告诉我 我不知道如何比较这两个字符串的相似性。我该怎么做 在我看来,所有相同但顺序不同的字母比不同的字母排名更高。但比两者都高的是部分匹配+/-一两个

我正在尝试用PHP构建一个拼写检查系统

我已经有了很多英语单词的词典/语料库。每一个单词都换一行

我要做的是,一旦给定一个字符串,让我们称它为$string1,打开文本文件,搜索最像$string1的字符串并返回该字符串

对于搜索文本文件,我的想法是将内容导入数组,然后在_array()中使用。如果有更好的方法搜索文本文件而不将所有单词导入内存,请告诉我

我不知道如何比较这两个字符串的相似性。我该怎么做

在我看来,所有相同但顺序不同的字母比不同的字母排名更高。但比两者都高的是部分匹配+/-一两个字符


如果您能帮助我打开文本文件并进行搜索并比较字符串,我将不胜感激。

我在评论中提到的三种算法的参考资料:


为什么不使用数据库?然后你可以为你的单词建立索引,以便更快地搜索相似性:metaphone(),levenshtein(),soundex()?@MarkBaker这个项目是nosql运动的一部分,所以我不能。这些功能是什么?我没听说过它们。它们基本上是用来衡量单词之间差异的算法:在我看来,通常使用它们的时候都有一个共同点(即90%的相似性)在我看来,这是nosql被带到极端的一个例子,拒绝使用最好的工具来完成这项工作