Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS][jquery] Cenzura w komentarzach
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
TheNut
Cześć wszystkim.
Od kilku dni szukam skryptu, który cenzurowałby wulgaryzmy w komentarzach. Problem w tym, że komentarze dodają się do bazy i wyświetlają za pomocą jquery (bez przeładowania strony).

W moich poszukiwaniach znalazłem taki oto skrypt:
  1. <head>
  2. <script src="http://code.jquery.com/jquery-latest.js"></script>
  3. <script>
  4. function censor(str){ //STRING VARIABLE FROM <input> TAG
  5. var list = ['ass', 'bitch', 'damn', 'fuck', 'shit']; //ARRAY OF WORDS TO CENSOR
  6.  
  7. //REPLACES EVERY WORD IN 'list' WITH THE FIRST LETTER AND ASTERICKS
  8. for(i=0; i<list.length; i++){
  9. c = list[i]; //WORD IN THE ARRAY
  10. fl = c[0]; //FIRST LETTER
  11. astr = '****';
  12. censored = fl+astr; //CENSORED WORD Ex: (f***)
  13. str = str.replace(c, censored); //CENSORING PROCESS HERE
  14. }
  15. $("#censored").html(str); //DISPLAYED IN HTML
  16. }
  17. </head>
  18. <body>
  19. <input onKeyUp="censor(this.value)"><br>
  20. <span id="censored"></span>
  21. </body>
  22. </html>

Źródło: http://wcetdesigns.com/tutorials/2012/02/1...nsor-words.html

W tym skrypcie pojawiają się 3 problemy:
1) Dosłowna zmiana ciągu znaków: Jak zauważyliście, przyjąłem, że słowo 'kot' i 'raz' są brzydkimi wyrazami, więc wpisując 'kot' otrzymamy wynik 'k****'. Niestety wpisując np. 'Palikot' otrzymamy 'Palik****' .
2) Wielkość liter ma znaczenie: Dla tego skryptu wyrazy 'kot' i 'KOT' są różnymi wyrazami, jak to zmienić?
3) Zmiana tylko jednego wyrazu: Po wpisaniu więcej niż jednego tego samego brzydkiego wyrazu wynik jest następujący => k**** kot kot kot

Jeśli mielibyście chwilę i chęć na pomoc byłbym wdzięczny.
nospor
Cytat
Problem w tym, że komentarze dodają się do bazy i wyświetlają za pomocą jquery (bez przeładowania strony).
I jaki tu problem? Tak czy siak, by komentarz się dodał to musi przejść przez skrypt php, a w php masz kupę antywulgaryzmów, więc ja osobiście problemu nie widzę.
TheNut
Problem w tym, że dostęp mam tylko do pliku z formularzem, więc muszę zmienić komentarz użytkownika przed wysłaniem danych na serwer. Dlatego napisałem, że to problem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.