Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> funckja cenzurujaca tekst
slavo
post 11.07.2004, 17:21:17
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 29.06.2004
Skąd: Wałbrzych

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


  1. <?php
  2. ?
  3.  
  4. include(&#092;"bbcode.php\");
  5.  
  6. function cenzoruj($tekst)
  7.  
  8. {
  9.  
  10. $tekst = strip_tags($tekst);                                 // usuwa tagi
  11. $tekst = bb2html($tekst);                                    // obsluga BBCode
  12. $tekst = substr($tekst,0,1000);                              // max limit dlugosci tekstu
  13. $tekst = nl2br($tekst);                                      // wstawia <br /> w miejsce entera
  14. $tekst = eregi_replace(&#092;"(<br />{2,100})|(<br>{2,100})\",\"<br />\",$tekst); // zamienia wiecej niz 2 entery na 1
  15. $tekst = wordwrap($tekst, 50, &#092;" \", 1);                       // kroi dlugie wyrazy
  16.  
  17.  
  18. $cenzor = &#092;"<span style=\"color:red\\"><b>(!)</b></span>\";
  19. $wrong = array (&#092;"pamparam\"); // zdefiniuj ocenzurowane slowa
  20. $tekst = str_replace($wrong,$cenzor,$tekst);
  21.  
  22.  
  23. return $tekst;
  24.  
  25. }
  26.  
  27. ?>


Okej, temat skonczyony.. dziala w takim przypadku:
  1. <?
  2.  
  3. include(&#092;"bbcode.php\");
  4.  
  5. function cenzoruj($tekst)
  6.  
  7. {
  8.  
  9. $tekst = strip_tags($tekst);                                 // usuwa tagi
  10. $tekst = bb2html($tekst);                                    // obsluga BBCode
  11. $tekst = substr($tekst,0,1000);                              // max limit dlugosci tekstu
  12. $tekst = str_replace(&#092;"r\",\"\",$tekst);                        // usuwa znak konca wiersza
  13. $tekst = eregi_replace(&#092;"(n{2,100})\",\"n\",$tekst);           // zamienia wiecej niz 2 nowe linie na 1
  14. $tekst = nl2br($tekst);                                      // wstawia <br /> w miejsce entera
  15. $tekst = wordwrap($tekst, 50, &#092;" \", 1);                       // kroi dlugie wyrazy
  16.  
  17.  
  18. $cenzor = &#092;"<span style=\"color:red\\"><b>(!)</b></span>\";
  19. $wrong = array (&#092;"pamparam\"); // zdefiniuj ocenzurowane slowa
  20. for($i=0; $i<count($wrong); $i++) $tekst=eregi_replace($wrong[$i], $cenzor, $tekst);
  21.  
  22.  
  23. return $tekst;
  24.  
  25. }
  26.  
  27. ?>


I tyle :-)

Ten post edytował slavo 12.07.2004, 16:32:21
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
broU
post 11.07.2004, 21:17:51
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.07.2004

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


może denne rozwiązanie , ale można by puszczać linijke (zdanie / wyrażenie / itp.) w pętli , aż zostaną tylko dwa <br /> ... napisałem to , ponieważ nie znam się na wyrażeniach regularnych , a chciałem zaproponować inne rozwiązanie (:
Go to the top of the page
+Quote Post
Dabroz
post 11.07.2004, 22:06:57
Post #3





Grupa: Zarejestrowani
Postów: 286
Pomógł: 0
Dołączył: 1.11.2003
Skąd: Poland, Płock

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


  1. <?php
  2. $text=str_replace(&#092;"nr\",\"n\",$text);
  3.  
  4. $text=preg_replace(&#092;"#(n)+#\",\"n\",$text);
  5.  
  6. $text=nl2br($text);
  7. ?>


--------------------
Go to the top of the page
+Quote Post
Zepco
post 12.07.2004, 16:24:52
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 5.09.2003
Skąd: Kielce

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


Wiem, że to wyjątek jakich mało, ale jak Twój skrypt zachowa się w przypadku słowa wymachuj? Czy uzna ten wyraz za niedozwolony?


--------------------
Jak stworzyć szybko działającą aplikację wolną od błędów?
Tego nie wiedzą nawet najstarsi indianie... :D

Oprogramowanie jest jak katedra - budujesz, budujesz, budujesz, a potem... modlisz się!
Go to the top of the page
+Quote Post
slavo
post 12.07.2004, 16:29:55
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 29.06.2004
Skąd: Wałbrzych

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


Skrypt filtruje wpisy do ksiegi gosci.. sadze ze uzycie tam takiego slowa jak wymachuje.. jest graniczne z cudem smile.gif

A jak sie zachowa?

Tak: Wymac(!)e
Go to the top of the page
+Quote Post
broU
post 12.07.2004, 16:47:04
Post #6





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.07.2004

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


hm , to daj przed każdym niedozwolonym wyrazem spacje ? wtedy w 'wymachuje' skrypt nie znajdzie ' ch..' . Gorzej , gdy wyraz jest na początku i nie ma spacji przed nim (:

Ten post edytował broU 12.07.2004, 16:48:32
Go to the top of the page
+Quote Post
Paul
post 12.07.2004, 20:25:25
Post #7





Grupa: Zarejestrowani
Postów: 636
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Katowice

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


Cytat(Zepco @ 2004-07-12 17:24:52)
Wiem, że to wyjątek jakich mało

hehehe... MS Word gdy wpisze sie tekst "Kto pyta nie błądzi" i da sprawdzanie gramatyczne twierdzi, ze "wskazany wyraz uznawany jest za wulgarny" smile.gif

PS. Jak ktos sie uprze i tak napisze co chce chodzby przerywajac to co ma do powiedzenia spacjami czy podresleniami itp. - czasem trzeba samemu pobawic sie w cenzora smile.gif

Ten post edytował Paul 12.07.2004, 20:25:59
Go to the top of the page
+Quote Post
Dabroz
post 15.07.2004, 22:52:13
Post #8





Grupa: Zarejestrowani
Postów: 286
Pomógł: 0
Dołączył: 1.11.2003
Skąd: Poland, Płock

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


W ogole funkcje cenzorujace latwo ominac, np. w phpBB wystarczy zamiast strasznybluzg napisac np. strasznybluzg i juz nie ocenzuruje :|


--------------------
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.08.2025 - 02:14