Seite 1 von 1

Badword-Script

Verfasst: 02.09.2010, 11:11
von karinsch
Hallo!

Ich verwende das Badword-Script im Chat und wollte fragen, ob man das irgendwie erweitern kann:
und zwar, wenn ein User eingibt "test" und man hat das Wort "test" im Badword-Script drinnen, dann wird das ja entsprechend (je nachdem durch welche Zeichen man es ersetzen will) ersetzt.
Wenn ein Chatter jetzt aber "te st" eingibt, wird es nicht ersetzt...
Besteht die Möglichkeit, das irgendwie zu erweitern, dass, auch wenn Leerzeichen zwischen den Buchstaben des Wortes (bzw. zwischen einzelnen Buchstaben des Wortes) stehen, es trotzdem ersetzt wird?

Bitte Hilfe!
Dankeschön im Voraus :)

Re: Badword-Script

Verfasst: 02.09.2010, 11:24
von hamigra
Nein! - Du müßtest jede Variante eines Wortes extra ins Script eintragen. Das würde aber jeden Rahmen sprengen. Wenn du halt User hast, die das Script auf dies Art umgehen, dann solltest du sie darauf hinweisen und im Wiederholungsfall notfalls bestrafen. Der Hinweis kann gleich im Script erfolgen.
Zum Beispiel:
Script:Zeigen
Badwort = /test/i
Ersetzung = 'zensiert-bei Umgehung erfolgt Strafe'

Re: Badword-Script

Verfasst: 02.09.2010, 11:33
von karinsch
Hi hamigra!

Danke! Das hab ich mir schon fast gedacht - schade.
Die Frage ist dann nur, wie will man einen Gast dafür effektiv "bestrafen" (ausser bannen)......?

Re: Badword-Script

Verfasst: 02.09.2010, 12:09
von chat_club
Bannen ist meiner meinung nach effektiv genung :)

Re: Badword-Script

Verfasst: 02.09.2010, 12:25
von 1. FC Keller
mit Regulären Ausdrücken gibt es eine Möglichkeit, so etwas abzufangen.

Code: Alles auswählen

/t\s*e\s*s\s*t/i
Dieser Reguläre Ausdruck (als Badword einfügen) fängt "TEST" genauso ab wie "t e s t" (also immer zwischen die Buchstaben ein "\s*" - Das bedeutet 0 oder beliebig viele Leerzeichen. das i am Ende sagt case-insensitive, also groß/kleinschreibung wird ignoriert - das ist aber auch beim badwordscript schon immer so drin.

Wer den Scriptgenerator von wktools nutzt muss das / am anfang und das /i am ende weglassen da das automatisch vom generator eingetragen wird. es müsste dann also so aussehen:

Code: Alles auswählen

t\s*e\s*s\s*t

Re: Badword-Script

Verfasst: 02.09.2010, 13:02
von karinsch
Hallo 1. FC Keller!

Das ist spitze - vielen Dank! :D

Wenn ich jetzt zusätzlich zum Leerzeichen noch ein anderes Zeichen abfragen möchte, zb.: den Bindestrich, brauch ich dann einfach so machen:
/t\s*\-*e\s*s\s*t/i
?

Bzw. ist es möglich, dass ich alle Zeichen (alle Ziffern,-+"!§$%@,den Punkt,"',Buchstaben etc.) zwischen dem Badword (in dem Fall "test") abfange?

Vielen Dank!!

Re: Badword-Script

Verfasst: 02.09.2010, 19:23
von 1. FC Keller
ja das geht beides... hinter jedes zeichen kannst du ein * setzen um eine beliebig häufige wiederholung abzufangen. Um alles abzufangen was keine buchstaben oder ziffern sind kann man \W verwenden...

Code: Alles auswählen

t\W*e\W*s\W*t

Re: Badword-Script

Verfasst: 02.09.2010, 19:55
von karinsch
Hi 1. FC Keller!

Dankeschön! :D
Letzte Frage noch dazu:
Wenn ich alle Zeichen (also auch Ziffern und Buchstaben) abfragen will - geht das auch? Gibt es da einen Ausdruck für alle Zeichen, so wie \W (das ja aber keine Buchstaben und Ziffern enthält)?
Wenn nicht alle Zeichen gehen, dann zumindest noch zusätzlich Ziffern?

Vielen Dank und schönen Abend!

Re: Badword-Script

Verfasst: 02.09.2010, 23:21
von Linus
.

Weil eine Antwort aber nicht nur aus einem Zeichen bestehen sollte:

Code: Alles auswählen

/t.e.s.t/i
Der Punkt heißt beliebiges Zeichen ;)

Re: Badword-Script

Verfasst: 03.09.2010, 13:21
von karinsch
Hi Linus!

Dankeschön! So probier ich es mal aus :)