Hallöchen...
Ich habe mich durchs weite Web gesucht um diesen -zugegebenermassen etwas speziellen- Filter basteln zu können. Schlussendlich bin ich im Archiv dieses Forums fündig geworden - jedenfalls zu teil. <g>
Nun.., folgendes Script liest ein BadWord-File aus..., soweit sogut..
Das gilt aber nur für komplette Worte die jeweils mit einem | getrennt sind. Ich aber möchte stattdessen (wie gewohnt bei mir) etwas komplizierter vorgehen doch ich weiss nicht wie.
Folgendes schwebt mir da vor.
Ich möchte nicht für jedes einzelne Wort (bzw. für dessen bedeutung) ein Dutzend andersgeschriebene Worte eintragen sondern die gleich in der Datei "auseinandernehmen". Ein Beispiel:
In der Datei würde dann stehen
play(****************|boy|mate)
oder
pu[sz]+[iy] (erklärung: das + bedeutet das egal wieviele Zeichen dazwischen sind es ist nicht möglich dieses zu schreiben)
pu[sz][sz][iy] (erklärung: das doppelte [sz] bedeutet das egal wieviele s/sz dazwischen sind es ist nicht möglich dieses zu schreiben)
welche gleichermassen mehrere Möglichkeiten verbieten würden. Wie aber, sage ich dem Script, dass es alle genannten Möglichkeiten überprüft? Genau da liegt nun mein Problem.
Ist sowas überhaupt möglich?
medium22
Ich habe mich durchs weite Web gesucht um diesen -zugegebenermassen etwas speziellen- Filter basteln zu können. Schlussendlich bin ich im Archiv dieses Forums fündig geworden - jedenfalls zu teil. <g>
Nun.., folgendes Script liest ein BadWord-File aus..., soweit sogut..
PHP-Code:
<?php
$text = $_POST['text']; // Das ist der Text der untersucht werden soll
$file = implode("", file("badword.txt"));
$match = explode("|", $file);
$error = FALSE;
foreach($match as $badword) {
if (eregi($badword, $text)) {
$error = TRUE; // Böses Wort gefunden
break;
}
}
if ($error) {
echo 'Sagt man sowas?';
}
else {
echo 'Alles ok!';
}
?>
Folgendes schwebt mir da vor.
Ich möchte nicht für jedes einzelne Wort (bzw. für dessen bedeutung) ein Dutzend andersgeschriebene Worte eintragen sondern die gleich in der Datei "auseinandernehmen". Ein Beispiel:
In der Datei würde dann stehen
play(****************|boy|mate)
oder
pu[sz]+[iy] (erklärung: das + bedeutet das egal wieviele Zeichen dazwischen sind es ist nicht möglich dieses zu schreiben)
pu[sz][sz][iy] (erklärung: das doppelte [sz] bedeutet das egal wieviele s/sz dazwischen sind es ist nicht möglich dieses zu schreiben)
welche gleichermassen mehrere Möglichkeiten verbieten würden. Wie aber, sage ich dem Script, dass es alle genannten Möglichkeiten überprüft? Genau da liegt nun mein Problem.
Ist sowas überhaupt möglich?
medium22
Kommentar