2010-07-15 59 views
2

我正在運行一個交友網站,並有一個地方人們輸入他們的個人資料 - 我已經有一個壞詞過濾器,但現在我有一個問題,人們進入一個配置文件這只是垃圾字符或只是「aaaaaaaaaaaaaaaaaaaaaa」或「--------------」等我正在尋找一種有效的方式來篩選出重複字符的長單詞。提前致謝。php代碼檢查重複字符/假文字

+1

也許你可以檢查爲什麼人們沒有填寫你的個人資料?要求登記數據的全部數據往往會讓人感到厭煩,所以他們只是填寫垃圾。你可以做的只是要求註冊的基本字段,然後在頁面上的某個地方顯示一個進度條(「你的配置文件已完成10%,填寫出生日期以達到20%」)。這就是許多網站(例如FB)這樣做的方式,而且它實際上可以更好地激勵用戶。 – Piskvor 2010-07-15 09:44:36

回答

2

這應該這樣做(但它將取代雙字寫得,馬貝你需要編輯了一下):

preg_replace('{(.)\1+}','$1',$text); 

OT:不敢相信還有誰使用bad-wordfilters人。 ..

2

也許你需要一些bayesian spam filter - 類似的東西過濾器。

特定字有特定的概率發生在垃圾郵件和合法的電子郵件中。例如,大多數電子郵件用戶會在垃圾郵件中經常遇到「偉哥」一詞,但很少在其他電子郵件中看到。過濾器不提前知道這些概率,必須先進行培訓,以便建立起來。爲了訓練過濾器,用戶必須手動指示新電子郵件是否爲垃圾郵件。 ...

0

你可以使用一個單詞列表,和標誌,具有長字,每個消息(例如5+字符)不在名單上 - 如果字段包含5 8個字母的單詞,其中沒有在字典中,它可能是這不是有意義的數據。