切换案例,案件未找到,但与其他案件类似,给出建议

时间:2013-06-22 20:27:52

标签: php

我们有这样的事情:

switch ($name)
{
    /** Prune **/

    case 'prune':
        echo 'Prune command: Deletes ALL of the messages from the chat.';
    break;

    /** Lock **/

    case 'lock':
        echo 'Lock command: Locks the chat, nobody can talk!';
    break;

    /** Unlock **/

    case 'unlock':
        echo 'Unlock command: Unlocks the chat, everybody can talk!';
    break;  

    /** Broadcast **/

    case 'broadcast':
        echo 'Broadcast command: Send a general broadcast message.';
    break;

    /** If command not found, echo suggestions.. **/

    default:
        echo 'Command not found, try these: /prune, /lock, /unlock, /broadcast';
    break;
}

我们有一个发送数据的表单,这些数据将存储到变量$name

用户存储了以下字词: prunne

显然,它会违反案例。

但我想要做的是,IF字段与任何可用案例类似,建议用户。

例如,案例prunne,

将回复:未找到,您的意思是修剪*?

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我可以指出你正确的方向:

http://php.net/manual/en/function.levenshtein.php

是一个可以用于你的事业的php函数,在那个页面上也有一个很好的例子。

相关的堆栈溢出问题有关于字符串何时超过255个字符的更多信息:

String similarity in PHP: levenshtein like function for long strings