Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Słowa wulgarne i wyjątki
Szunaj85
post 15.07.2010, 20:50:43
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

Ostrzeżenie: (0%)
-----


Mam skrypt w którym w tablicy trzymam zbiór przekleństw. Za pomocą pętli i if-ów sprawdzam czy w formularzu nie znajdują się jakieś słowa z tablicy. Jeśli jakieś są wyskakuje komunikat.
Jednak są słowa takie jak np. "kocham" które skrypt też traktuje jako wulgarne.
Jak rozwiązać ten problem. Może druga tablica z wyjątkami?


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
wookieb
post 15.07.2010, 20:53:19
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Może uwzględnianie spacji przed słowem?
Generalnie nie ma idealnych cenzorów. Idealne wymagają sztucznej inteligencji oraz umiejętności semantycznych.


--------------------
Go to the top of the page
+Quote Post
Crozin
post 15.07.2010, 20:55:16
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


"Cham" słowem wulgarnym? blink.gif

Pomijając fakt bezsensowności czegoś takiego (niby czemu ma to służyć plus ktoś Ci zawsze może napisać K O C H A M z ciebie!) sprawdzaj po prostu nie "kocham", a " kocham " (tj z białym znakiem/znakiem niealfanumerycznym przed i po)
Go to the top of the page
+Quote Post
thek
post 16.07.2010, 06:46:23
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Inna możliwość... To raczej skomplikowane nieco od strony kodu, ale możesz - zamienić wszystkie wariacje typu 0 na o, 4 na a (odpowiednie litery ogólnie) potem usunąć wszelkie inne znaki niż litery (spacje, myślniki, wykrzykniki, kropki itp.) po czym dopiero sprawdzać wyrazy. Gdy zamienisz, już na nie wulgarne, przywracasz "stary wygląd". Problemem tutaj podstawowym jest rejestr zmian jakie zaszły podczas tej konwersji. Musisz do niego zapisywać każdą minimalną zmianę by móc ją po sprawdzaniu odtworzyć ponownie. A to potrafi pojechać po wydajności. Rozwiązanie nie jest idealne, ale do czasu aż ktoś nie wymyśli sposobu obejścia (kto myśli ten szybko je znajdzie) masz na pewien czas spokój.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Szunaj85
post 18.07.2010, 16:55:44
Post #5





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

Ostrzeżenie: (0%)
-----


Cytat
"Cham" słowem wulgarnym?
Nie to jest tematem wątku. biggrin.gif
Cytat
Może uwzględnianie spacji przed słowem?
Cytat
sprawdzaj po prostu nie "kocham", a " kocham "
Miałem nadzieję, że to rozwiązanie usłyszę jako ostatnie. Jest mi ono doskonale znane, jednak stosowanie białych znaków sprawia, że skrypt jest mniej skuteczny.
Cytat
Generalnie nie ma idealnych cenzorów
Wiem to, zawsze idzie jakoś ominąć cenzora. Ja swój skrypt chcę tylko trochę ulepszyć, a nie cenzurować wszystko na lewo i prawo. biggrin.gif


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 8.07.2025 - 22:03