Tutorials

Eine immer größer werdende Tutorialdatenbank.

PHP-Fusion Core

Aktuelle PHP-Fusion Vollversionen und Updates

Addon Downloads

Alle Downloads garantiert Kostenlos

Support 24/7

24 Stunden, 7 Tage die Woche, das ganze Jahr.

Thema ansehen
Wortzensur Thema drucken
Benutzeravatar

Mitglied


spunk Geschrieben am 06.06.2012 um 17:11
 #1 Beitrag drucken Top
Hola!

Ich weiss nicht wie die Wortzensur arbeitet...

Besteht da auch irgendwie die Möglichkeit Wort1 und Wort2 zu zensieren und Wort1 durch Wort3 und Wort2 durch Wort4 ersetzen zu lassen?

Oder nur lapidar Wort1, Wort2 und Wort3 durch Wort4 bzw, wie vorgesehen durch "***" ?
www.duesseltag.de/images/banner/banner209x69.png
Beiträge: 115 
http://www.duesseltag.de 
Benutzeravatar

Senior Mitglied


DeeoNe Geschrieben am 06.06.2012 um 17:39
 #2 Beitrag drucken Top
Also wenn man in den Admin schaut unter sicherheit, gibt es doch schon die Antwort.

Zensur aktivieren? Ja
Zensierte Wörter: Wort1 Wort2 Wort3 Wort4
Wörter zensieren durch: ***

Es soll ja nur dazu dienen bestimmte wörter auszustreichen.

Normal: Das Wort1 ist gefragt
Zensur: Das *** ist gefragt

Also nix ersetzten mit 2 zu 4 oder 3 zu 2 einfach nur unkentlich machung.
Beiträge: 219 
http://www.deeone.de 
Benutzeravatar

Mitglied


spunk Geschrieben am 06.06.2012 um 22:42
 #3 Beitrag drucken Top
Das ist nicht die Antwort, das ist das Offensichtliche.

Deshalb die Frage ob es möglich ist, weil ich nicht weiß wie das Ding arbeitet. Hätte ja sein können das es bei minimalen Änderungen in der DB gehen könnte.
www.duesseltag.de/images/banner/banner209x69.png
Beiträge: 115 
http://www.duesseltag.de 
Benutzeravatar

Veteran Mitglied


Janilein Geschrieben am 07.06.2012 um 00:25
 #4 Beitrag drucken Top
Mit gewissen Codetechnischen aufwand ist das sicher möglich, allerdings ob der eigentliche Sinn des vorher gewählten Wortes korrekt wiedergegeben wird ist fraglich. Persönlich halte ich aufwand und Nutzen für fraglich.
traumkamera.de/logo/traumlogo.jpg
Beiträge: 521 
http://themes.lewitzgalerie.de 
Benutzeravatar

Seiten Administrator


David Geschrieben am 07.06.2012 um 06:10
 #5 Beitrag drucken Top
Ansich ist das schon möglich. Man bräuchte nur sagen, ersetzte Liste 1 der Wörter mit "******" und Liste 2 der Wörter mit "*zensiert*" beispielsweise.

Der Nachteil wäre, wenn man es per Adminbereich machen will, müsste man folgendes ändern:
  • Datenbank (Tabelle Settings)
  • administration/settings_security.php (Felder hinzufügen)
  • maincore.php (Funktion censorwords(); erweitern)


Will man es nur "hardcodet" haben, wäre nur die maincore.php zu bearbeiten.
Liebe Grüße, euer David.


Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
Beiträge: 434 
http://www.php-fusion.at/ 
Benutzeravatar

Mitglied


spunk Geschrieben am 07.06.2012 um 07:37
 #6 Beitrag drucken Top
Danke für eure Antworten.

Also einen riesigen Aufwand wollte ich nicht betreiben, es wäre nur ein Gimmick.

Hardcodet wäre völlig ausreichend.
www.duesseltag.de/images/banner/banner209x69.png
Beiträge: 115 
http://www.duesseltag.de 
Benutzeravatar

Seiten Administrator


David Geschrieben am 07.06.2012 um 07:58
 #7 Beitrag drucken Top
Ist jetzt zwar ungetestet, aber versuche mal folgendes.

Öffne die maincore.php und suche folgendes:
Download Code  GeSHi: PHP
  1. // Replace offensive words with the defined replacement word
  2. function censorwords($text) {
  3. global $settings;
  4. if ($settings['bad_words_enabled'] == "1" && $settings['bad_words'] != "" ) {
  5. $word_list = explode("\r\n", $settings['bad_words']);
  6. for ($i=0; $i < count($word_list); $i++) {
  7. if ($word_list[$i] != "") $text = preg_replace("/".$word_list[$i]."/si", $settings['bad_word_replace'], $text);
  8. }
  9. }
  10. return $text;
  11. }
gewandelt in 0.012 Sekunden, benutzt wurde GeSHi 1.0.8.10


Ersetzte es durch folgendes:
Download Code  GeSHi: PHP
  1. // Woerter zensieren
  2. // Hier kannst du die Wortlisten bearbeiten und womit diese ersetzt werden sollen.
  3. $_wordsList = array(
  4. "0" => array(
  5. "words" => "Wort1||Wort2||Wort3||Wort4||Wort5",
  6. "replace" => "****"
  7. ),
  8. "1" => array(
  9. "words" => "Abcdef||123456||Benutzername||Irgendwas",
  10. "replace" => "*zensiert*"
  11. )
  12. );
  13.  
  14. function censorwords($text) {
  15. global $settings, $_wordsList;
  16. if ($settings['bad_words_enabled'] == "1") {
  17. for ($i = 0; $i < count($_wordsList); $i++) {
  18. if (isset($_wordsList[$i]['words']) && $_wordsList[$i]['words'] && isset($_wordsList[$i]['replace']) && $_wordsList[$i]['replace']) {
  19. $words = explode("||", $_wordsList[$i]['words']);
  20. for ($j = 0; $j < count($words); $j++) {
  21. if ($words[$i] != "") {
  22. $text = preg_replace("/".$words[$i]."/si", $_wordsList[$i]['replace'], $text);
  23. }
  24. }
  25. }
  26. }
  27. }
  28. return $text;
  29. }
gewandelt in 0.008 Sekunden, benutzt wurde GeSHi 1.0.8.10


Die Einstellung der zu zensierenden Wörtern im Adminbereich ist ab nun an nicht mehr gültig.
Die Einstellung ob zensiert werden soll, ist jedoch Aktiv.
Ich hoffe der Code beinhaltet keine Fehler (Parse Error oder so).

Unbedingt vorher ein Backup machen!! :)
Liebe Grüße, euer David.


Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
Beiträge: 434 
http://www.php-fusion.at/ 
Springe ins Forum:
Anzeige


Anmelden


Registrieren Passwort vergessen

RSS Feeds

Feeds abonieren

Letzte News
Letzte Threads
Anzeige

© Copyright 2024 PHP-Fusion.at | Alle Rechte vorbehalten.

© 2016 Real Space. All rights reserved | Design by W3layouts | 19,387,391 eindeutige Besuche
Powered by PHP-Fusion copyright © 2002 - 2024 by Nick Jones. Released as free software without warranties under GNU Affero GPL v3.