yubb.de-Logo
Tutorials
yubb@yubb
yubbService
Inside yubb

Bestimmte Wörter zensieren

In Gästebüchern oder Foren hat man es nicht gerne, wenn Schimpfworte benutzt werden.
Mit dieser kleinen Funktion kann man dies verhindern.


Dafür reicht es, sich einfach der Funktion eregi_replace() zu bedienen. Diese Funktion schaut nach dem Vorkommen eines Wortes bzw. einer bestimmen Maske. Trifft diese Funktion so etwas an, ersetzt sie das Wort durch ein vordefiniertes anderes Wort.
PHP-Datei:
1
2
3
4
5
6
7
8
<?
$text
="Du blödes Arschloch, geh deine Mutter ficken"// darf man soetwas auf einer öffentlichen Seite schreiben? *gg*
$neuertext=eregi_replace("Arschloch""*Rektum*"$text);
$neuertext=eregi_replace("ficken""*im Bett lieben*"$neuertext);

echo 
$neuertext;
// Ergäbe: "Du blödes *Rektum*, geh deine Mutter *im Bett lieben*"
?>

Natürlich lässt sich das alles noch viel mehr ausweiten und auf sehr viele Worte anpassen. Dabei unterscheidet die Funktion eregi_replace() nicht zwischen Groß- und Kleinschreibung, sodass "Arschloch" genauso ersetzt wird wie "arschloch" oder "ArScHlOcH".

Man kann auch bestimmte Masken erstellen, auf die die Funktion anspringen soll. Diese Masken heissen Reguläre Ausdrücke und werden auf dieser Seite ausführlich erklärt.

Geschrieben von Phil Marx am 18.06.2004 (5571x gelesen)
weiterempfehlen weiterempfehlen   Druckversion Druckversion   kommentieren kommentieren

naja, so isses ziemlich aufwändig :O

hätteste das nich dynamisch machen können (PHP is ne dynamische Sprache) sprich DB oder TXT basieren? :-/
Geschrieben von michi
$text kann auch aus der Datenbank kommen...
Geschrieben von Phil Marx
das is mir auch klar... Aber du hast dir keine große Mühen gemacht... Wenn du das wenigstens DB oder TXT basierend gemacht hättest, hätten andere Communitymitglieder nicht so viel Arbeit das zumzuschreiben... Oder ich mache dann ein Tut "Bestimmte Wörter zensieren, die 2." ;D
Geschrieben von michi
Heute hat michi seinen Meckertag. *feststell*
Geschrieben von nameless-one
Poah Junge! Es geht ums Prinzip!



Ob der Schund nun aus der DB kommt oder einer TXT-File oder aus dem A...llgemeinen Buch des PHP iss doch vollkommen egal!



Und wenn du ein solches Tutorial schreibst, kannst damit rechnen, dass es ausgemustert wird, schließlich haben wir schon ein solches Tutorial.



Komm mal selber auf Ideen, als andere Scripte vollzumeckern und dann "XYZ - die 2." aufzumachen.
Geschrieben von Phil Marx
achja... darf ich mal an ein anderes Tutorial erinnern, das meines kopiert hat? das musterste auch nich aus, ne?!
Geschrieben von michi
Nein, weil es ne ganz andere Geschichte ist, als das deinige.

Deine ist mit Cookies und das andere ist ohne jegliche andere Sachen, ohne Cookies, ohne Sessions, nix!
Geschrieben von Phil Marx
Ihr beide seit nun bitte beide still, das führt hier zu nichts!



Hau, ich habe gesprochen!
Geschrieben von nameless-one
nein, ich bleib nicht ruhig (zumindest nich hier).



das war im konkreten Fall aber nich viel anders als meines. Außerdem, biste schon auf so ein tieves Niveau gesungen, dass du SICHTBARE Copyrighte in Tuts duldest?!
Geschrieben von michi
Anstatt mir darüber Gedanken zu machen, überlege ich gerade, inwiefern ich die recht von Usern einschrnänken kann und zeitweise denen die Rechte zum Kommentieren entziehen kann...

Junge, komm runter!



Ich (bzw. der Mod, ders freigeschaltet hat) habe/hat eben so eben entschieden und fertig ist... Gehste auch immer erstmal flennen, wenn du vom Schiri ne gelbe Karte bekommst?
Geschrieben von Phil Marx
da ich kein sport (mehr) treibe, bekomm ich keine gelbe Karte => ich kann wegen sowas net flennen...



außerdem: "deutsche jungen weinen nicht"
Geschrieben von michi
Nicht, dass deine Aussage einen leicht rechtsradikalen Touch hat...
Geschrieben von Phil Marx
das ist der Titel eines Buches ;D
Geschrieben von michi
Lieber str_replace, da eregi under ereg einer der langsamsten funktionen überhaupt sind
Geschrieben von LLCoolDannY
1. ereg-Funktionen sind in der Regel nicht so gut, lieber über die preg-Funktionen (sind performanter, wurde auch schon darüber aufgeklärt)
2. Die Texte hätte man im Beispiel nicht statisch, sondern aus einem Array herausmachen sollen - das ist realisitischer. Das ist sicher der Knackpunkt, den michie meint. Ob du es nun aus der DB oder einer Textdatei liest, ist dann schnuppe.
sinngemäß z.B. eregi_replace($verboten, $ersetzt, $text);
3. Wenn michie meint, ein bestehendes Tutorial zu verbessern, so sollte man nicht darauf bohren, wer zuerst da war, sondern welches mehr Inhalt bietet, oder der Inhalt aktueller ist.
4. ich zweifel den allgemeinen Sinn von Badwordlisten an: http://renephoenix.de/?cmd=newkomm&bid=181
Geschrieben von René
hallo ihr blödies!

Seid ihr alle ein bisschen (?) bescheuert? Vielleicht lebt ihr ja nur virtuell eure verdrängten homoerotischen Phantasien aus. Im Klartext: Hirnwichserei!!!!!!
Geschrieben von adolf