2011-01-31 21 views
4

我想弄清楚如何自動更正算法可以在PHPC#執行。自動更正算法如何在PHP和/或C#中工作?

總之,我有一個用戶輸入的詞應該能夠容忍輕微拼寫錯誤。我也有正確拼寫單詞的SQL數據庫。我希望能夠從數據庫中抓取最接近(正確)拼寫的單詞到用戶輸入的單詞。

我意識到有一個zillion autocorrect包在那裏,但我希望能夠自定義它,所以我正在尋找任何信息在PHPC#執行此功能。

非常感謝, 佈雷特

回答

2

字典文件和萊文斯坦距離函數將是你最好的選擇。

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

檢查出該功能的意見,它有幾個示例實現。

爲了更上一層樓,您還可以將soundex或metaphone功能放在那裏,它也會抓住語音錯誤。

+0

我曾經看過這個網頁:http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=66781但它看起來像這樣的算法將需要超長時間運行一個SQL說字典的說十億字。 – Brett 2011-01-31 19:01:30

0

Web還是windows?假設web,因爲你提到PHP。

預算還是沒有預算?那裏有各種網頁編輯器。 Telerik製作了一個很好的AJAX控件,例如,它允許使用AJAX進行拼寫檢查。它是完全可定製的。我相信一些其他供應商(Infragistics,Synfusion,ComponentOne等)也有類似的編輯。

如果你需要前往開源,那裏有編輯。然而,不確定哪些支持列表的自定義。由於第三方控件價格相對便宜(幾百美元或更少)並且易於定製(Telerik's),所以我覺得編寫自己的代碼是一個更好的選擇,或者最終得到一個難以定製的開源實現。但是,值得關注開源。