Willkommen in der Webstatt Zum Webstatt Blog und Stories
gecko am 07.12.06 09: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');
$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?

netcup.de Warum gibt es hier Werbung?
tnY am 07.12.06 16:01

hm keine lust zu lesen kannst sonst meinen benutzen


$verboten = array("asshole","arsch","etc");
$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

Erdo am 07.12.06 19:59

http://www.php4u.net/index.php?main=codeschnipsel2&source=39

gecko am 08.12.06 03:22

dank euch für's echo!

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt