私のウェブサイトで動作しているこのコードを試すことができます。ここで変数と呼ばれるすべての変数を変数に置き換えます。あなたは括弧書きを含むCSVファイルが必要です。このコードは、誓い単語と誓い単語を含む偽の単語(例えば、Scunthorpe)とを区別することができます。また、単語を適切な数の星に置き換え、すべての共通接尾辞を認識します。実行には時間がかかることがありますが、偽陽性のリスクは大幅に軽減されます。
//inport profanities csv and list suffixes
$profanities=explode(",", file_get_contents('NAME OF YOUR CSV FILE GOES HERE'));
$suffixes=array('','s','es','e','ed','ing','ted','ting','y','ty','d','head','bag','hole','wit','tard','er','ter','en','ten','est','test','able','ible','ful','full');
//get text input
$sanitize_text=$YOUR VARIABLE HERE;
//combine profanities and sufixes
foreach($profanities as $profanity)
{
foreach($suffixes as $suffix)
{
$sanitize_terms=$profanity;
$sanitize_terms.=$suffix;
$word=$sanitize_terms;
$match_count=preg_match_all('/'.$word.'/i', $YOUR VARIABLE HERE, $matches);
for($i=0; $i<$match_count; $i++)
{
$bwstr=trim($matches[0][$i]);
$sanitize_text=preg_replace('/\b'.$bwstr.'\b/', str_repeat("*", strlen($bwstr)), $sanitize_text);
}
}
}
$YOUR VARIABLE HERE=$sanitize_text;
これは正しく行うのが非常に難しい作業です。良い読書のために:http://www.codinghorror.com/blog/2008/10/obscenity-filters-bad-idea-or-incredibly-intercoursing-bad-idea.html –
あなたが試したことがあるなら、コードには、ソリューションに近いかもしれません。 – greg0ire
"私は数回試しましたが、失敗しました!" ...失敗は何でしたか?アレイの作成?潜在的な侮辱的な言葉をあなたの配列と比較するか? – chahuistle