b1rdex / text-lang-correct
0.1.8
2023-08-04 08:10 UTC
Requires
- php: >=7.4
- ext-mbstring: *
Requires (Dev)
- phpstan/phpstan: ^0.12.73
- phpunit/phpunit: ^9
README
由于错误的键盘布局,自动纠正文本中单词的语言。自动纠正由于错误的键盘布局导致的文本中单词的语言。
目的
- 搜索查询校正
- 校正网站访问者发布的现有和新文本。
特性
SIMILAR_CHARS
模式。校正看起来在键盘的不同布局中相同的错误输入的字母。在俄罗斯语中,隐藏的拉丁字母被校正为俄语,反之亦然。算法足够可靠且运行速度快。KEYBOARD_LAYOUT
模式。校正另一键盘布局中错误输入的单词。使用 N-gram 来确定语言。算法有时可能会出错,比 SIMILAR_CHARS 运行慢得多。算法持续改进。为了保持质量,存在一个测试词集,它不包括在供应中。- 对俄语和英语单词进行双向校正。
- 校正混合语言中的单词。
- 字符编码 — Text\Util\UTF8。
- 类可以在没有
mbstring
和iconv
扩展的情况下运行!
示例
"\xd1\x81\xd0\xbesm\xd0\xbe" => 'cosmo' (2 первых и последняя буква — ошибочные)
"\x78\x70\x65н" => 'хрен' (первые 3 буквы — ошибочные)
"вебvfcnth" => 'вебмастер'
"webьфыеук" => 'webmaster'
"цццюмуыеш.ru" => 'www.vesti.ru'
"\x54.\x43.\x48\x61вка" => 'Т.С.Навка'
用于具有自动完成的输入字段的算法示例
- 根据原始查询从数据库中进行选择;
- 如果有结果,则返回结果和原始查询;
- 否则通过
Text\Text_LangCorrect
校正原始查询; - 如果原始和校正的查询匹配,则返回空结果和原始查询;
- 否则根据校正后的查询从数据库中进行选择;
- 返回结果。如果没有结果,则返回校正后的查询,否则返回原始。