ユーザー入力に余分な文字や変更された文字があっても、正規表現を使用して単語を照合しています。たとえば、ユーザー入力がpgone
の場合、正規表現はphone
と一致するはずです。または、ユーザー入力がphini
の場合は、phone
と一致する必要があります。私はこれをどうやって行うのか分かりません。REGEXPスマート余白検出
私は次のことを試してみましたが、それは私にいくつかの余分な言葉と一致します。
[[:<:]](p|)[a-zA-Z]{0,2}(g|)[a-zA-Z]{0,2}(o|)[a-zA-Z]{0,2}(n|)[a-zA-Z]{0,2}(e|)[a-zA-Z]{0,}[[:>:]]
を。あなたは何ができるか
http://php.net/levenshtein –
これは、「正しい」単語にマップされた許容可能なスペルミス、または編集距離をターゲット単語にマッピングするメトリックを使用したマッピングで行うとよいでしょう。正規表現のアプローチは急速にあなたの目標のために管理不能に成長します。 – dawg