2013-07-16 236 views
1

我試圖防止用戶在我的網站與php 重複發佈這樣做,我檢查用戶輸入標題字段在數據庫中的標題,如果在數據庫中找到此標題的記錄系統顯示錯誤信息給用戶,但一些用戶更改冠軍例如小性格有些用戶改變性格的地方是這樣的:PHP腳本比較一個字符串與其他字符串

主標題:微軟Office精簡版(X86,X64)

change by user: microsoft office lite(x64,x86) 
change by user: microsoft office_lite(x86,x64) 
change by user: microsoft office_lite(x64,x86) 
change by user: microsoft office lite by rob(x64,x86)  

反正是有檢查這個?

回答

0

可以eather使用PHP函數similar_text兩個字符串之間計算相似度(百分比):

$str1 = 'microsoft office lite(x86,x64)'; 
$str2 = 'microsoft office lite(x64,x86)'; 
similar_text($str1, $str2, $percent); 
if (percent < 95) { 
    // accept it 
} else { 
    // error message 
} 

或(我的推薦方法),使用正則表達式(http://php.net/manual/en/function.preg-match.php)從空間剝去你的字符串和其他不需要的單詞(例如:xxxx)

您也可以使用兩種方法來防止小的更改(如排列)。

http://www.php.net/manual/en/function.similar-text.php