• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Badword Filter: String löschen wenn ...

webana

Mitglied
Hallo,

hab im web ein Badword Filter gefunden, der zb aus "Das ist ein Text der ein böses Wort enthält" das macht: "Das ist ein Text der ein *****s Wort enthält".

Nun möchte ich nicht nur das wort **** so haben, sondern der string soll gelöscht werden.

PHP:
function spam($input)
{
    $Badwords = array("text", "gefiltert", "böse");

    foreach($Badwords as $Badword)
    {
        $input = str_ireplace($Badword, str_repeat("*", strlen($Badword)), $input);
    }

    return $input;
}
gefunden bei inspire-world.de

Gruß Alex
 
Meinst Du damit, dass der gesamte Text entfernt werden soll oder das "Badword" aus dem Text entfernt werden soll?
 
Dann musst Du doch nur eine Bedingung setzen statt den String zu bearbeiten.

PHP:
if( strpos($Badword, $input) >= 0 ){ $input = "";}
 
Danke Dir!

Funktioniert:

PHP:
function spam($url)
{
    $Badwords = array("text", "gefiltert", "xxx");

    foreach($Badwords as $Badword)
    {
        $treffer = preg_match("!$Badword!", strtolower($url));
    }

    $treffer = ($treffer == 0) ? $url : '';

    return $treffer;
}  

echo spam('nakedeiseite.tld/seite-mit-xxx-inhalt.html');


Gruß Alex
 
Zurück
Oben