dongmi1221 2016-01-29 01:55
浏览 25
已采纳

PHP拼写检查和建议类似于谷歌的“你的意思是:”

I am trying to apply a spell check to users' queries using a similar system to Google's "Did you mean: " using PHP.

Incorrect Google Query Corrected Google Query

Is there a way to do this with a plugin or API? If not, what are your suggestions?

Possible Simplified Code?

API

<?php
    function checkSpelling($query) {
        //Boolean where false value means a word is spelt wrong in string
        return file_get_contents("http://foo.com/?q=$query");
    }

    function getSuggestions($query) {
        //data with suggestions for word
        return file_get_contents("http://foo.com/?q=$query");
    }

    if (!checkSpelling(foo)) {
        echo getSuggestions(foo);
    }
?>

Plugin

<?php
    require("plugin.php");

    //plugin functions similar to the functions above are defined already

    if (!checkSpelling(foo)) {
        echo getSuggestions(foo);
    }
?>

NOTE: Pspell is not an option because I have PHP 5.X.X and am unable to install it on the server.

NOTE: PHP Spell Check does not have the disired interface.

  • 写回答

1条回答 默认 最新

  • dqwmhrxt68679 2016-01-29 04:26
    关注

    Using Levenshtein Distance would be the first solution that come to mind and I would expect a hybrid approach of auto-complete, a common misspelling keyword set and then Levenshtein and/or SOUNDEX would get you in the usability ballpark that you're looking for. And yeah, it's a bit of a project.

    Another piece of advice that comes to mind with things like this is to ask yourself. "What is it that I'm really trying to do?"

    Often times a fullblown Google grade solution may be like sandblasting a soup cracker because your use case isn't theirs. If the goal is getting Visitor A to Information B in a nice easy way, they're are a number of ways to accomplish that that may be simpler and/or better for you instead of trying to reverse engineer something verbatim.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么