hi
ich hab im netzt diesen badword-filter gefunden und möchte ihn nun einsetzen. aber das teil will nicht, sprich die badwords werden nicht erkannt:
// prüfen auf BAD WORDS / STOP WORDS
function badword_proof($TXT){
$badwordList = file('badword.txt';
$pcre=array();
foreach($badwordList as $badword){
$CurrPcre='/(\b)([^a-z0-9]*';
for($i=0;$i<strlen($badword);$i++)
$CurrPcre.=sprintf('%s+[^a-z0-9]*',$badword{$i});
$CurrPcre.='([^\b]*?)(\b)/smie';
$pcre[]=$CurrPcre;
}
$TXT = preg_replace($pcre,'str_repeat(\'*\',strlen("$2")',$TXT);
$txt=str_replace(" ","",$TXT);
$pattern ='~([\W|\w])(\1){6,}~'; // kombi
preg_match_all($pattern, $txt, $array);
if(empty($array[0]))
return FALSE;
else
return TRUE;
}
foreach($_POST['formdata'] as $TXT){
if(badword_proof($TXT)){ echo 'spam';
}
}
die badword.txt hat chmod 777, ist vorhanden.
weiss jemand woran's liegt?