2013-06-22 18 views
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

顯然,它會去案例默認。

但我想要做的是,如果單詞與任何可用案例相似,則建議用戶。

例如,案例prunne,

會響應:沒有發現,你的意思修剪*?

我該怎麼做?

+0

你可能想看看Levenshtein算法的PHP實現,HTTP:// WWW。 php.net/manual/en/function.levenshtein.php無論如何,您需要對每個案例值進行一系列排列,否則您可能會執行您的操作,並使您的用戶在那裏修復錯誤。或者使用一個**列表框**,他們從有效命令 –

+0

IMO中選擇,不要過度。只需列出所有可能的命令給用戶,讓他選擇並正確寫入。 – vikingmaster

回答