Unerlaubte Wörter und Phrasen aus einem Gästebucheintrag herausfiltern.

kirchwiese

Grünschnabel
Hallo erstmal,

ich bin noch ein ziemlicher PHP-Anfänger und suche jetzt schon ein paar Tage nach dem richtigen Script für meine Homepage.
Zur Erklärung:
Ich betreibe zwei einfach programmierte Gästebücher auf Datenbankbasis (sprich der Text wird in einer Datenbank gespeichert). Leider habe ich keine Zeit die Texte der Gästebücher ständig nach unflätigen Ausdrücken oder anderen "unschönen" Dingen nachzuschauen. Ich würde gerne ganz bestimmte Wörter bereits im Ansatz herausfiltern und auch meinetwegen durch ein "peep" ersetzten.
Außerdem bin ich auf der Such nach einer Methode um diejenigen aufzuspüren, die illegale Dinge ins Gästebuch schreiben.

Vielen Dank schon einmal im Voraus.

Ein schönes Weihnachtsfest noch.
 
PHP:
<?
/*
...
...
... CODE zu laden der Datenbank etc.
*/
$sql="SELECT * FROM badwords";
$res=mysql_query($sql);
while($data=mysql_fetch_array($res)) {
 $maske="";
 for($i=0;$i<strlen($data['Wort'];$i++) {
 $maske.="*";
 }
$text=str_replace($data['Wort'],$maske,$text);
}
...
?>

Müsste eigentlich funktionieren. Hab ich jetzt frei aus dem Kopf geschrieben und nicht getestet.
 
Hallo nochmal,

erst einmal vielen Dank für die super schnelle Antwort. Doch leider scheine ich nicht nur ein riesiger Neuling in Sachen PHP zu sein, sondern auch ein noch größerer "Nicht-Wisser" in Sachen MySQL.
Aus der Antwort werde ich nicht schlau.
  1. Wie erklärt sich die Variable $res?
  2. Muß ich eine Datenbank bzw eine Datenbanktabelle anlegen, in der ich die "bösen Wörter" definiere? ($sql=SELECT * FROM badwords;)
  3. Was versteht man hier unter $maske? Beschreibt diese Variable die Möglichkeit das störende Wort zu ersetzen?
  4. Würde es etwas bringen, wenn ich das Script maile?
Über eine Antwort freue ich mich riesig!

Danke!
 
Hoi,
  1. $res steht für $result und das heißt Ergebnis. Also das Ergebnis der Datenbankabfrage
  2. ja
  3. jein, in dem Beispiel von der_maiki ist das gedacht, um noch erkennen zu lassen, welches Wort da stand. Kannst aber anstatt der for-Schleife gleich "*Zensur*" ersetzen.
  4. Wofür mailen? Dieser Scriptteil kommt direkt nachdem du dein Gästebuch generiert hast und in der Variable $text drin steht.

mfg
 
Zurück