Badword-Filter...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Badword-Filter...

    Ich hab auf meiner seite bisher nen recht einfachen badword-filter eingesetzt, der hatte einfach die bösen wörter aus einer tabelle gelesen und dann per str_replace durch was anderes ersetzt. das problem: ich musste für jede schreibweise (groß/klein) ne neue zeile in der tabelle haben, außerdem hat er z.b. auch barsch rausgefiltert.
    ich hab mich jetzt per regulärer ausdrücke an dem 2. problem versucht, aber so richtig wollt das nicht funktioniern.
    vielleicht hat jemand nen codeschnipsel, n beispiel aus nem anderen forum oder so?
    ich brauch nen vernünftigen filter

    ach ja, außerdem sollen die wörter mit nem sternchen an ner bestimmten stelle (bzw. mehreren) versehen werden, z.b. "schei*e" oder "bar*ara stre*sand"

    bin für jede hilfe dankbar!!


    Edit: also das 2. problem (mit dem barsch) hab ich inzwischen gelöst, aber ich überleg immernoch wie ich das mit den sternchen am besten mach. momentan sieht das so aus:
    PHP-Code:
        for($xlogi=0;$xlogi<sizeof($badwords);$xlogi++)
              {
              
    $badword key($badwords);
              
    $gutword current($badwords);
              
    $dertext preg_replace("/(?<![a-zA-Z])($badword)(?![a-zA-Z])/s","$gutword",$dertext);
              
    next($badwords);
              } 
    wobei die bösen worte als schlüssel im assoziativen array $badwords und die verbesserten worte als wert gespeichert sind.
    ich könnte ja als modifier auch das i dranhängen, aber dann würde er trotzdem den ersten lösungsvorschlag aus dem array holen, was dann z.b. "BADWORD" zu "bad*ord" machen würd, und das soll net sein. aber so erkennt er halt bADWORd nicht und das is auch nicht sinn der sache. deswegen würd ich halt im gefundenen wort einfach gern an definierten stellen sternchen setzen. die stellen kann ich ja in der datenbank definiern, irgendwie, is ja kein problem...
    Zuletzt geändert von CrazyChaos; 11.09.2004, 13:02.
    diese signatur ist nichtssagend...
Lädt...
X