Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Filtr słowa - wyłapanie!, mam kod, ale nie działa :(
ktosz
post 9.08.2009, 10:28:46
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 27.01.2009
Skąd: Warszawa, Mazowieckie

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


witam,
kiedys cos tam grzebalem i mam cos takiego:

  1. if (ereg("#kurwa#is",$_POST['textek']) || ereg("#chuj#is",$_POST['textek'])) {
  2. echo "nie przeklinaj!";
  3. }


kiedyś bodajrze jakoś mi to działało, ale teraz już nie... jak wyłapać jak ktoś w FORM'ie pisze np ciąg liter "kurw"?
pzdr
Go to the top of the page
+Quote Post
Fifi209
post 9.08.2009, 10:29:43
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Po pierwsze używa się teraz: preg_match i preg_match_all

Po drugie bezsensowna walka.

Ten post edytował fifi209 9.08.2009, 10:30:18


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Pawel_W
post 9.08.2009, 10:33:06
Post #3





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


Cytat(fifi209 @ 9.08.2009, 11:29:43 ) *
Po pierwsze używa się teraz: preg_match i preg_match_all

Po drugie bezsensowna walka.

Popieram, mam coś takiego w grze, że czasem filtruje mi nawet słowa, które nie są przekleństwami i jest to naprawdę uciążliwe

jeżeli to jest jakiś czat, to sam go sprawdzaj i dawaj bany, wtedy może się oduczą winksmiley.jpg
Go to the top of the page
+Quote Post
ktosz
post 9.08.2009, 10:36:01
Post #4





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 27.01.2009
Skąd: Warszawa, Mazowieckie

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


Dobrze, super, ale może ktoś mi pomoże rozwiązać problem snitch.gif?
Go to the top of the page
+Quote Post
Pawel_W
post 9.08.2009, 10:37:13
Post #5





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


http://pl.wikibooks.org/wiki/PHP/Podstawy_...%84_regularnych

masz tam przykład, który sprawdza czy podana wartość jest cyfrą winksmiley.jpg

przekręć trochę i sprawdzi, czy to przekleństwo winksmiley.jpg
Go to the top of the page
+Quote Post
ktosz
post 9.08.2009, 10:43:04
Post #6





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 27.01.2009
Skąd: Warszawa, Mazowieckie

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


a czy nie byłoby szybciej zrobić tego jakoś w tablicy??
Go to the top of the page
+Quote Post
Fifi209
post 9.08.2009, 10:46:28
Post #7





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(ktosz @ 9.08.2009, 10:43:04 ) *
a czy nie byłoby szybciej zrobić tego jakoś w tablicy??


A jak z tekstu:

Blea sg dfg rg dfvg 2435 dfg , gasdfg :sfg ńśę wyłapiesz teraz ch*j asdf mrty sdl sdfl

Jak wyłapiesz ch*j ?

Będziesz sprawdzał słowo po słowie? in_array ? A jak ktoś tak napisze ch.uj ?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
zeten
post 9.08.2009, 12:17:20
Post #8





Grupa: Zarejestrowani
Postów: 36
Pomógł: 2
Dołączył: 1.08.2009
Skąd: Katowice, Rybnik

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


  1. if (eregi("kurwa",$_POST['textek']) || eregi("chuj",$_POST['textek'])) {
  2. echo "nie przeklinaj!";
  3. }


eregi();
Go to the top of the page
+Quote Post
Fafu
post 9.08.2009, 17:53:21
Post #9





Grupa: Zarejestrowani
Postów: 243
Pomógł: 33
Dołączył: 30.01.2008
Skąd: Wrocław

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


Taka funkcja już nie wiem skąd, może ci się przyda:
  1. function cenzura($tekst){
  2. $przeklenstwa = array('bit(h|ch)', '(ch|h)(w|.w)(d|.d)(p|.p)', '(|o)cip', '(|o)(ch|h)uj(|a)', '(|do|na|po|do|prze|przy|roz|u|w|wy|za|z|matkojeb)jeb(|a|c|i|n|y)', '(|do|od|o|s|wy|za)pieprz(|e|n|on|a|y)', '(|do|na|naw|od|pod|po|prze|przy|roz|spie|roz|poroz|s|u|w|za|wy)pierd(a|o)', 'fu(ck|k)', '(|po|s|w|za)(ku|q)rw(i|y)', 'k(ó|u)rw', 'k(ó|u)tas', '(|po|wy)rucha', 'motherfucker', 'piczk', '(|w)pi(z|ź)d');
  3.  
  4. $count = count($przeklenstwa)-1;
  5.  
  6. for ($i=0; $i<=$count; $i++) {
  7. $przeklenstwa[$i] = '@ '.$przeklenstwa[$i].'([^ ]+)?@i ';
  8. }
  9. return substr(preg_replace( $przeklenstwa, ' *****', ' '.$tekst ), 1);
  10. }


--------------------
http://rafal.brzezinski.me - skrypty, tutoriale i inne.
Jeśli udało Ci się rozwiązać problem podziękuj osobom, które ci pomogły.
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: 14.07.2025 - 04:05