GB Blacklist Prüfung

Mororu

Mitglied
Hallo zusammen

Ich habe ein kleines Problem. Ich möchte ein Gästebuch auf meiner Seite erstellen. Da ich aber nicht möchte, dass da irgend jemand beleidigt wird habe ich eine Blacklist mit Wörtern die verboten sind erstellt. Das klappt soweit auch gut mit der überprüfung des Textes. Aber das Problem sind folgende Vorkommnisse:

Eintrag Blacklist
barsch barsch (ohne b)

Nun wird der Eintrag natürlich als treffer angesehen, jedenfalls mit der Funktion strpos(). Wie könnte man solche Konstelationen abfangen und behandeln. Ihr habt mir sicher ein paar Ideen dazu. Wäre sehr dankbar, wenn ihr mir helfen könntet.
 
du könntest ein Leerzeichen vor dem ars... machen. Aber ich denke besser wäre eine regex variante
 
Also du meinst mit regex ein Leerzeichen vor und hinter jeden Begriff hinzufügen, damit nur auf das wirkliche Wort geprüft wird? Wie würde so ein regex aussehen, kannst du ein Beispiel machen? Oder einen Link mit funktionsbeschrieb angeben?
 
Ich habe mich jetzt ein bisschen über reguläre Ausdrücke schlau gemacht, aber leider habe ich den Durchblick noch nicht wirklich. Wenn ich jetzt als Beispiel ein Wort aus der Blacklist nehme "loch", dann möchte ich diesen Begriff so erweitern, dass nur genau nach diesen 4 Zeichen gesucht wird.

Ich habe es so versucht [^a-z].Blacklistwort. Scheint nicht wirklich zu klappen. Aber wie mache ich es richtig?
 
Bin doch noch ein Schritt weiter gekommen jedoch funktioniert es noch nicht richtig habe ich so das Gefühl.

Code:
$pos = preg_match("/loch$|^loch/", "bloch");
 
PHP:
$pos = preg_match("/ loch/", "bloch");

Wenn du dies jetzt ausliest würde False rauskommen also 0, aber wenn du das b weg machen würdest un ein "Leerzeichen" hin würde es funktionieren.
 
Zurück