Avatar billede jens12 Nybegynder
21. oktober 2006 - 14:39 Der er 3 kommentarer og
1 løsning

Ord filter/overvågning

Hej jeg er igang med et community opbygget af Sessions..Hvor man kan skrive via hinandens gæstebøger...Det virker perfekt..
Nu vil jeg så gerne lave et system som kan filtrere/opfange nogle forbudte ord og så smække hele teksten+brugeren som har skrevet det ind i en seperat mysql tabel samtidigt med at den i smækker teksten ind i den normale tabel og erstater de forbudte ord med ****..Sån at jeg kan overvåge de brugere som skriver ubehagelige beskeder..
Hvordan kan det laves ? (hvis det overhovedet kan laves )
Hilsen
Jens12
Avatar billede coderdk Praktikant
22. oktober 2006 - 01:57 #1
Her er et proof-of-concept du kan tilpasse - Den erstatter kun hele ord, altså hvis du definerer fuck som et forbudt ord, fanger den ikke fuckfjæs. Hvis du gerne vil have det, så fjern de fire \b'er fra de to preg_ funktioner

$forbudteOrd = array( "hest", "nisse", "firefant" );

$tmpord = implode( "|", $forbudteOrd );
if ( preg_match( "/\b(" . $tmpord . ")\b/i", $tekst ) )
{
  // Erstat nedenstående med en insert til den tabel hvor du vil have den originale kopi
  $sql = "INSERT INTO din_hemmelige_tabel (bruger, tekst) VALUES ($brugerid,'" . mysql_real_escape_string( $tekst ) . "')";
  mysql_query( $sql );
}
$tekst = preg_replace( "/\b(" . $tmpord . ")\b/ie", "str_repeat('*',strlen('\\1'))", $tekst );
// Resten af din normale insert her...
Avatar billede coderdk Praktikant
22. oktober 2006 - 01:58 #2
Burde nok være:

$forbudteOrd = array( "hest", "nisse", "firefant" );

$tmpord = implode( "|", $forbudteOrd );
if ( preg_match( "/\b(" . $tmpord . ")\b/i", $tekst ) )
{
  // Erstat nedenstående med en insert til den tabel hvor du vil have den originale kopi
  $sql = "INSERT INTO din_hemmelige_tabel (bruger, tekst) VALUES ($brugerid,'" . mysql_real_escape_string( $tekst ) . "')";
  mysql_query( $sql );
  $tekst = preg_replace( "/\b(" . $tmpord . ")\b/ie", "str_repeat('*',strlen('\\1'))", $tekst );
}
// Resten af din normale insert her...
Avatar billede jens12 Nybegynder
22. oktober 2006 - 11:08 #3
Hehe tak for din storartet hjælp det virker 100 % !
Her er lidt ekstra point !
1000 tak
Avatar billede coderdk Praktikant
22. oktober 2006 - 12:02 #4
Tak :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester