Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Probleme mit eregi-replace() (Badword-Filter)
Frage
Also ich habe folgendes Problem und ich hoffe ihr könnt mir irgendwie helfen.
Das Problem ist das Suchmuster, die Badwords kommen aus einer Textdatei.
Das Suchmuster was ich im Moment benutze sieht so aus
$pattern = "(".$badwords[$i].")";
Nur leider funktioniert das nicht richtig.
Ein Beispiel:
$pattern = „man“;
$text = „Niemand“
Das Ergebnis ist dann Nie***d
Beispiel 2:
$pattern = „*Z*“;
$text = „Marsch“;
Das Ergebnis ist dann M*****, korrekter Weise sollte es aber Marsch bleiben.
Habt ihr Tipps wo ich gute Informationen über Suchmuster finde, oder hat vielleicht jemand ne Idee für mein Suchmuster. Über eure Hilfe wäre ich euch sehr dankbar.
Mit freundlichen Grüßen
Chris
Antwort 1 von bräuler
wenn du ganze wörter zensieren möchtest, dann musst du den text auch erstmal in wörter unterteilen. kannst du nach leerzeichen exploden, aber eigentlich ist alleine das schon eine ki-aufgabe. du wirst aber nur eine dumme zensierung realisieren (können), die nicht richtig funktioniert, leicht zu umgehen ist und kollateralschäden anrichtet, so wie die dumme zensur hier im sn dir gerade den quelltext zerschossen hat^^.
fazit: computer sind dumm!
fazit: computer sind dumm!
Antwort 2 von bräuler
Zitat:
kannst du nach leerzeichen exploden
kannst du nach leerzeichen exploden
sorry das ist quatsch! besser: du kannst die patterns mit regulären ausdrücken so gestalten, dass am anfang und ende ein leerzeichen stehen muss. das ist programmiertechnisch sinnvoller, ändert aber nichts an der generellen misere.