kostenloser Webspace werbefrei: lima-city


Problem mit Badword liste xD

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    garlian

    Kostenloser Webspace von garlian

    garlian hat kostenlosen Webspace.

    Hallo
    ich hab mir mal versucht ein kleines Skript zu machen das Schlecht wörter rausfiltert aber es komischerweiße nicht tut >.>

    Naja hier der code:
    <?php
    $badwords = "fuck*fick*ass*arsch*scheiß";
    
    $word = explode("*", $badwords);
    $i = 0;
    while($i <= "10")
    {
    $i++;
    $titel  = eregi_replace($word[$i], "*beep*",$titel);
    $inhalt = eregi_replace($word[$i], "*beep*",$inhalt);
    }
    ?>

    $titel und $inhalt sind gefüllte variablen.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    Ich würde in der while keinen String benutzen.
    Ausserdem würde ich str_replace() anstatt eregi_replace() nehmen.
    Sonst kann ich nichts entdecken, sollte aber eher an der while liegen.
  4. Autor dieses Themas

    garlian

    Kostenloser Webspace von garlian

    garlian hat kostenlosen Webspace.

    Jo so funzt jetzt einigermaßen...
    <?php
    $badwords = "suck*fuck*fick*ass*arsch*scheiß";
    
    $word = explode("*", $badwords);
    $i    = 0;
    $else = "*beep*";
    
    while($i <= "10")
    {
    $i++;
    $titel  = str_ireplace($word[$i],$else,$titel);
    $inhalt = str_ireplace($word[$i],$else,$inhalt);
    }
    ?>


    Leider nimmt er wörter die groß geschrieben sind nicht war -.-
  5. erstens das und ein aus meiner sicht syntaxfehler... du vergleichst ... $i mit einem String das machst du durch die '' und das funktioniert vl unter PHP ist aber trotzdem ein syntax fehler!

    Außerdem ... das Array hat nur 5 Elemente und du gehst bis 10 durch ? das ist auch falsch!

    also

    while($i <= count($word))
    {
    $i++;

    $titel = str_replace($word[$i],"*beep*",$titel);
    $inhalt = str_replace($word[$i],"*beep*",$inhalt);
    }
  6. Autor dieses Themas

    garlian

    Kostenloser Webspace von garlian

    garlian hat kostenlosen Webspace.

    @sirseven
    kleine unachtsamkeiten die mir das leben schwer machen^^"
    eigentlich gehe ich meistens wenn es funktioniert meinen code nochmal durch und verbessere ihn^^(ich weiß es klingt blöd)

    EDIT
    Problem gelöst...

    Beitrag geaendert: 20.12.2006 22:28:28 von garlian
  7. Warum machst du es nicht einfach wie folgt?

    <?php
      $titel = 'Hier stehen die wörter fuck und arsch!';
      $text  = 'In diesem scheiß Text wird verfickt nochmal auf Englisch geflucht: Fuck, ass!';
    
      $badwords = array('/fuck/i','/fick/i','/ass/i','/arsch/i','/scheiß/i');
      
      $titel = preg_replace($badwords,'*beep*',$titel);
      $text  = preg_replace($badwords,'*beep*',$text);
    
      print $titel.'<br />'.$text;
    
      //Ausgabe:
      //Hier stehen die wörter *beep* und *beep*!
      //In diesem *beep* Text wird ver*beep*t nochmal auf Englisch geflucht: *beep*, *beep*!  
    ?>
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!