1

次のようなものがあります。

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 ワードが利用可能なケースのいずれかに似ていることです。ユーザーに提案してください。

たとえば、ケースプルーン、

エコーします:見つかりませんでした。Prune* のことですか?

どうすればいいのですか?

4

1 に答える 1

1

私はあなたを正しい方向に向けることができます:

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

あなたの目的に使用できるphp関数です。そのページにも良い例があります。

関連するスタック オーバーフローの質問には、文字列が 255 文字を超える場合に関する詳細情報があります。

PHP における文字列の類似性: 長い文字列に対するレーベンシュタインのような関数

于 2013-06-22T20:37:49.480 に答える