Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> filtr brzydkich wyrazów
karol33
post 21.03.2010, 08:06:38
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 1
Dołączył: 23.02.2010

Ostrzeżenie: (10%)
X----


chciałbym prosić o pomoc w sprawie filtru wyrazów niechcianych do komentarzy które udzielają użytkownicy, mam taki:
<?
function cenzura($tekst, $bad) {
foreach($bad as $bad_word) {
$tekst=str_replace($bad_word, "[***]", $tekst);
}
return $tekst;
}

//definicja niechcianych słów do ocenzurowania
$bad_words = array('wyraz1', 'wyraz2');

//tekst do ocenzurowania
$tekst_full = "jesteś wyraz1, wyraz2";

//tekst po cenzurze
$tekst_after = cenzura($tekst_full, $bad_words);
//efekt: "jesteś [***], [***]"
?>
jak go przerobić żeby efektem nie był "jesteś [***], [***]" tylko całkowity brak odpowiedzi, poprostu żeby takie spamy sie nie pojawiały w komentarzach, z góry dziękuję za odpowiedź


--------------------
dla reklamobiorcow, hull, strony
Go to the top of the page
+Quote Post
gothye
post 21.03.2010, 09:19:44
Post #2





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

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


  1. function RemoveBadWords($content)
  2. {
  3. $BadWords = array(
  4. '/a\W*d\W*m\W*i\W*n/si' => '*******',
  5. '/m\W*o\W*t\W*y\W*l\W*a\W*n\W*o\W*g\W*a/si' => '!@#$',
  6. );
  7.  
  8. foreach($BadWords as $pattern => $replace)
  9. {
  10. $content = preg_replace($pattern, $replace, $content );
  11. }
  12.  
  13. return $content;
  14. }
  15.  
  16.  
  17.  
  18. $text = 'Motyla noga!!! admin musi zbanować ten tekst. MoTyla.NoGa!!!. Adminowi się nie chce tego robić ręcznie. M.O.T.Y.L.A N.O.G.A!';
  19.  
  20. echo 'Przed: '.$text.'<br />';
  21. echo 'Po: '.RemoveBadWords($text).'<br />';


Znalezione jakiś czas temu na forum ,po modyfikacjach przezemnie ,ale działa bardzo dobrze smile.gif


--------------------
Nie udzielam pomocy poprzez PW
Go to the top of the page
+Quote Post
kipero
post 21.03.2010, 09:53:36
Post #3





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

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


Możesz np. zliczyć ilość [***] i jeśli ich stosunek do liczby wszystkich wyrazów jest większy od np. 1/6 to komentarz się nie dodaje.


--------------------
Go to the top of the page
+Quote Post
blooregard
post 21.03.2010, 10:24:55
Post #4


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




~karol33, proszę używać BBCode.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Methestel
post 21.03.2010, 10:52:19
Post #5





Grupa: Zarejestrowani
Postów: 46
Pomógł: 10
Dołączył: 30.06.2008

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


Link do wątku z którego gothye modyfikował kod i w którym autor ma podobny problem:
http://forum.php.pl/index.php?showtopic=14...=0&p=725455
Go to the top of the page
+Quote Post
karol33
post 21.03.2010, 18:38:13
Post #6





Grupa: Zarejestrowani
Postów: 42
Pomógł: 1
Dołączył: 23.02.2010

Ostrzeżenie: (10%)
X----


próbowałem całą niedziele i nadal noobie, albo mam błędy albo '*****' albo nie pojawiają mi się zablokowane wyrazy tylko w stringu, za pomoc w napisaniu skryptu dodam linki i baner do jego strony na rady.biz i polska-pl.net oraz oczywiście kliknę na pomógł, w array poprosiłbym tylko o jakies przykładowe wyrazy do cenzury....z góry dziękuje


--------------------
dla reklamobiorcow, hull, strony
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 - 00:56