2010-09-13 117 views
3

可能重複:
How do you implement a good profanity filter?PHP褻瀆濾波器的實現

我有一個通過URL我的PHP腳本,然後插入到我的數據庫傳遞一個字符串的iPhone應用程序。我想寫一些php代碼,讀取任何預定義的褻瀆語言的$ body。

現在,我只有下面的代碼,但它只查找完全匹配,而不是如果$ body包含,則......序列的類型。此外,我需要它用一個空白替換髮誓「」,將這個詞全部刪除。

if($body == "swear word") 
    return; 

回答

2
$swears = array("shoot", "darn", "heck"); 

foreach ($swears as $bad_word) 
    $body = str_replace($bad_word, " ", $body); 

這將作爲一個快速和骯髒的解決方案,雖然它確實有Scunthorpe Problem(例如,「克勒」將得到轉變爲「LER」如果「哎呀」是你的髒話名單) 。

+1

這是一個[clbuttic mistake](http://thedailywtf.com/Articles/The-Clbuttic-Mistake-.aspx);) – 2010-09-13 18:27:11

+0

夠正確。爲此編輯了某些內容。 – eliah 2010-09-13 18:29:02

+0

是的,我知道斯肯索普問題。你如何使數組不區分大小寫? – BigMike 2010-09-13 18:36:31