Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [klasa] badWords.class5.php, informuje o badwords wg patternów ze stringu :)
Athlan
post
Post #1





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Klasa informuje o badwords i zlicza je:
http://phpfi.com/141000

przykład uzycia jest w załączniku ale podam jeszcze:
  1. <?php
  2. // instancja klasy
  3. $badWords = new badWords;
  4. // wprowadzny string
  5. $string = 'ku rwaaaaaaaa mac, chcesz w piz_de, w pier-dol Ci sie nie dostało kurw.a mać?!';
  6. // filtrujemy string
  7. $checkString = $badWords->checkString($string);
  8. // warunek na podstawie otrzymanych wników
  9. if($checkString[0])
  10. {
  11. echo'nie przeklinaj, '.$checkString[1].' przekleństw w Twoim ciągu znaków';
  12. }
  13. else
  14. {
  15. echo $string;
  16. }
  17. ?>


zapraszam do ocen... pisane z nudów sad.gif moze sie komus przyda smile.gif

Ten post edytował Athlan 15.08.2006, 19:02:56


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Diablos
post
Post #2





Grupa: Zarejestrowani
Postów: 165
Pomógł: 6
Dołączył: 17.06.2005

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


Bad ereg ;p
Go to the top of the page
+Quote Post
hwao
post
Post #3


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Fajny skrypt!

Proponuje tylko przestawic z eregi na preg_match sa okolo ~4 razy szybsze
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Przydalo by sie ladowanie tablicy wyrazow do obiektu a nie zapisywanie ich na sztywno w klasie.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #5





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Przyłączę się do dr_bonzo - dodaj obsługę źródeł danych. gdybys ta klase podpiął pod większą całość, to administrowac tymi słowami możesz teraz tylko z poziomu kodu.

Ogólnie podoba mi się smile.gif


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Athlan
post
Post #6





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


http://phpfi.com/141208

- wprowadzone dodawanie słów z poziomu kodu do tablicy oraz z dowolnego miejsca do bazy danych...
- sprawdzanie słów w bazie danych bądź w tablicy klasy

do badWords wykonujemy zapytanko:
  1. CREATE TABLE `badWords` (
  2. `badID` INT( 11 ) NOT NULL AUTO_INCREMENT ,
  3. `badWord` VARCHAR( 50 ) NOT NULL ,
  4. PRIMARY KEY ( `badID` ) ,
  5. INDEX ( `badWord` )
  6. );


w kodzie możemy podać:
  1. <?php
  2. // dodanie patternu
  3. $badWords->newPattern(array('pizd.*'));
  4. ?>

dla dodanie do tablicy... no i pozostało jeszcze dodanie do bazy danych:
  1. <?php
  2. // dodanie patternu
  3. $badWords->newPattern(array('pizd.*'), $mysqlHandler);
  4. ?>


jeżeli chcemy sprawdzić czy słowa są w tabeli mysql, rozmy lekkie zmienki, do funkcji sprawdzającej słowa dodajemy tylko handler połączenia:
  1. <?php
  2. // filtrujemy string
  3. $checkString = $badWords->checkString($string, $mysqlHandler);
  4. ?>


oraz ustawiamy zmienną:
  1. <?php
  2. /*
  3.  * Ustawiamy, czy złe słowa mają być brane z tablicy $this->badWords, czy może z tabeli mysql
  4.  * 
  5.  * @access private
  6.  * @param bool
  7.  */
  8.  
  9. private $useDB = TRUE;
  10. ?>


pozdrawiam smile.gif

---EDIT---
no i kolejna zmianka bo zupełnie zapomniałem o pierwszej uwadze @hwao... no więc zamienione ereg na preg_match()

http://phpfi.com/141221

Ten post edytował Athlan 16.08.2006, 10:09:48


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
SHiP
post
Post #7





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

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


Bardzo fajna klasa winksmiley.jpg lekka i działa jak nalezy... Problem tkwi w szczegółach winksmiley.jpg Klasa nie obsluguje wyjątków typu
  1. <?php
  2. $string = 'nie podsłuchuj chłopcze!';
  3. ?>


Wywala przekleństwo ;]


--------------------
Warsztat: Kubuntu, PhpStorm, Opera
Go to the top of the page
+Quote Post
Athlan
post
Post #8





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


@SHiP bardzo cenna uwaga... jak bede w domciu to dopisze smile.gif

no tak, ale można wywalić element "huj.*" z tablicy i bedzie grało tongue.gif
chyba dla tego wyrazu są wyjątki, wieć nie trzeba go jako-tako filtrować

pozdrawiam smile.gif


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post
Speedy
post
Post #9





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

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


Bardzo fajna klasa smile.gif.

ps. W tej tablicy warto także 'jeb.*' uwzględnić winksmiley.jpg.


--------------------
Sygnatura niezgodna z regulaminem.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Uniezaleznij sie od mysql'a, utworz druga klase odpowiedzialna za pobieranie listy slow z "jakiegos zrodla" (np. mysql) i niech zwraca te slowa jako tablice po wywolaniu

$zrodloSlow->getWords()


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Athlan
post
Post #11





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


@dr_bonzo masz na myśli to, żeby pobrać słowa z jakiegokolwiek źródła tak? hmm nie tylko jest mysql, faktycznie. Dobra dodam, ale kazdy parsowanie XML lub innyc tam pliczków zwoich musi sobie sam dopisać po dziedziczeniu tongue.gif

zmiany niedługo wprowadzę, pozdrawiam smile.gif

---EDIT---

tak właściwie to jest już to napisane tongue.gif pobierasz sobie sam słowa z jakiegoś innego źródła i wlepiasz w funkcję w formie tablicy :
  1. <?php
  2. // dodanie patternu
  3. $badWords->newPattern( /* tablica */ );
  4. ?>

po krzyku smile.gif

trzeba pomyśleć jeszcze nad pewnego rodzaju wyjątkami smile.gif

Ten post edytował Athlan 16.08.2006, 13:46:14


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
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 Aktualny czas: 19.08.2025 - 07:02