Webstatt.org - Community seit 2006 - 2012 (2024?)

badword filter funzt nicht

user-186
07.12.2006 08:18

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'zwinkern;
$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.='zwinkern([^\b]*?)(\b)/smie';
$pcre[]=$CurrPcre;
}
$TXT = preg_replace($pcre,'str_repeat(\'*\',strlen("$2"zwinkern)',$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?

user-329
07.12.2006 15:01

hm keine lust zu lesen kannst sonst meinen benutzen

 
$verboten = array("asshole","arsch","etc"zwinkern;
$klein = strtolower($_POST["zuüberprüfendertext"]);
$i = 0;
foreach($verboten as $baddies)
{
if (preg_match("/$baddies/i", $klein))
{
$i++;
}
}

if ($i!=0) {
//das da NICHT tun
}
else {
//das da tun
}



lg

user-186
08.12.2006 02:22

dank euch für's echo!