![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki prosty skrypt wyświetlający pozdrowienia na stronie:
Jak najprościej zaimplementować tego cenzora:
Kiedy sprawdzalibyście czy słowa są ok - w tym skrypcie który pokazałam na początku - przy wpisywaniu pozdrowień przez użytkownika, czy dopiero podczas pobierania pozdrowień do wyświetlenia a może jeszcze w innym momencie ? Czy w tym przypadku $txt w funkcji cenzora to $txt=pozdrowienia.txt ![]() -------------------- Free mp3 download.
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 274 Pomógł: 35 Dołączył: 18.07.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Użył bym w tym miejscu
-------------------- "Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota,
choć nie jestem pewien co do tej pierwszej." Albert Einstein Wirtualny Rynek Predykcyjny |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
webasek ma racje. Najlepiej, żeby to już od razu było zapisane w zmienionej postaci.
Btw. dodaj sobie też takie odmiany jak np /d(u|ó)p(a|y|o|sko|e.*)/i bo jednak pamiętaj, że można napisać h.. ch... ..uj ój itd, co jednak będzie miało znaczenie bo ludzię jednak są specjalistami w oszukiwaniu czegoś takiego (często własną głupotą i nie znajomością zasad pisowni). Dodałbym też jakieś sprawdzanie typu robienie spacji kropek itp. tzn po każdej literze zrobić coś takiego [^[:alnum:]]? czyli, że może wystąpić znak który nie jest ani cyfrą ani literą ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie jest dużo sposobów na obejście, ale nie znam na tyle dobrze php, żeby wszystkie a nawet część tych możliwości wykluczyć :/
Może znacie chociaż jakąś bazę tego typu słów, najlepiej z odmianą bo pisać te wszystkie okropieństwa z pamięci to lekkie przegięcie ![]() -------------------- Free mp3 download.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Niestety nie znam, ale sądzisz, że ich aż tak dużo jest ? Pamiętaj, że nie musisz cenzorować złożonych, wystarczy, że uda Ci się sam core zatuszować i też będzie dobrze np. wych..ać to niech chociaż zniknie do tego wy####ać i będzie to udany sposób
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Piszesz o cenzurowaniu, a dzień wcześniej użytkownik "Wredny" poruszał podobny problem. Tu masz dokładny adres: (http://forum.php.pl/PHPCenzura_t100243.html). W dodatku napisał on, że posiada bazę wulgaryzmów. Może udostępni Ci ją jak o nią poprosisz. Wtedy nie będziesz musiał pisać z pamięci.
![]() ![]() -------------------- Jeśli Ci pomogłem wciśnij
![]() ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tylko, że jak właśnie zauważyłeś to wymaga konkretnej bazy plików. preg_match lub str_replace cokolwiek takiego...jest znacznie szybsze,wymaga mniej nakładu.
Poza tym warto by właśnie dodać jeszcze zależności takie jak poruszone w/w wątku (dzięki szunaj za link) czyli nie podsłuchuj. Oznacza to, że trzeba dodać jeszcze pewne zależności. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tamtego posta Wrednego nie zauważyłem, dzięki za linka .
"Tylko, że jak właśnie zauważyłeś to wymaga konkretnej bazy plików. preg_match lub str_replace cokolwiek takiego...jest znacznie szybsze,wymaga mniej nakładu." No ale chyba preg_match lub str_replace musi wiedzieć jaką częśc ma zamienić na '#' i do tego potrzebna jest ta baza :-) ?! -------------------- Free mp3 download.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zrozum...Albo możesz mieć bazę liczącą np. 150 słów a odmian naprawdę jest CAŁY ogrom, albo zdefiniować core (np. tylko 5-10 wyrażeń) który będzie potrafił znaleźć wszystkie te słowa które normalnie ktoś by musiał spisać - a po co spisywać ?.
(TYLKO PRZYKŁADOWO) chuj chój choi chói chui hui hooj huuj hooi huui (KONIEC PRZYKŁADU) Do tego co podałem można jeszcze dodać prefixy i suffixy czyli(też tylko przykład) ochujać czy wychujać Więc po co się męczyć skoro można tylko napisać dobre wyrażenie regularne dla tego właśnie słowa ? np. c?h(u|ó|o)+(j|i)+ w ten o to sposób już się nie martwisz się już czy ktoś napisze przez samo h czy ch, dodatkowo czy napisze u,ó czy o nawet po kilka razy i to samo się tyczy j oraz i. Wystarczy teraz dodać tylko obsługę prefixów i suffixów oraz np. fakt, że ktoś napisze c.h.u.j |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
W sumie może i masz rację.
10-20 najpopularniejszych wulgaryzmów + reg ex może rzeczywiście będzie lepsze niż baza 2000 słów. Czyli dla każdego słowa osobna linijka w php... Słowa w tablicy nic nie dadzą (bo wyrażenie regularne będzie dla każdego się różniło) ?! -------------------- Free mp3 download.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
preg_replace przyjmuje tablice. Zatem wyrażenia możesz zapisać w tablicy wstawić jako pierwszy parametr. Jako drugi podajesz tylko xxx czy tam coś.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czyli coś takiego:
Zresztą, to było już na początku :-) A co znaczy: "/ przed 'bluzg' oraz po: /i\ i \"/ przed 'dup' ![]() Ten post edytował majestiq 13.08.2008, 10:58:10 -------------------- Free mp3 download.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie.
echo preg_replace($bluzgi,'xxxx',$tekst); |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, zauważyłem błąd, ale mnie uprzedziłeś :-)
-------------------- Free mp3 download.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem skąd to wziąłeś powinno być:
"/bluzg(a|i|asz)/i", "/dup(a|y|o|sko)/i" I teraz / na początku i końcu oznacza, że jest to wyrażenie regularne które ma być jakoś tam sobie interpretowane, a 'i' oznacza że podczas przeszukiwania ma nie zwracać uwagi na wielkość liter. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ten kod skopiowałem z innego posta na podobny temat.
Zawsze myślałem, że wyrażenie regularne powinno zaczynać się od ^ a kończyć na $ a nie /, ale rozumiem, że to nie tyczy się przypadku gdy interesujący nas string określany przez wyraźenie znajduje się w dowolnym miejscu innego ciągu a nie np tylko na jego początku. -------------------- Free mp3 download.
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tak właśnie.
^ oznacza, że od tego miejsca się string zaczyna,a kończy na $ |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dobra, dzięki wielkie za pomoc.
Może coś z tego będzie ![]() Kurde, coś nie działa mi to:
W pobieranym tekście mam słowa, które powinny zostać zamienione (takie jak w $bluzgi), ale nic się nie podmienia :/ -------------------- Free mp3 download.
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
bo zapomniano o tym, ze literki z nawiasow mogą ale nie muszą wystąpić:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 26.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki kolego
![]() A co dodać na początku:
żeby słowo 'zbluzgasz' też zostało zastąpione ?
coś mi nie działa :/ P.S. W ogóle po co jest / przed bluzg ![]() Ten post edytował majestiq 25.08.2008, 07:30:11 -------------------- Free mp3 download.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 9.07.2025 - 04:21 |