Lista zakazanych słów. Automatyczna cenzura.

Lista zakazanych słów. Automatyczna cenzura.
Jakub Prażmowski
  • Rejestracja:około 5 lat
  • Ostatnio:około 5 lat
  • Postów:110
0

Witam. Próbuję dzisiaj zaimplementować bota który będzie mi sprawdzał każdy wpis na moim blogu-forum, pod kątem obecności "niechcianych słów". W jaki sposób mogę to zrobić. Chciałbym wszystkie te słowa wrzucić do tablicy, a potem jakąś funkcją porównywać string ze słówkami z tej tablicy. Jeśli jakieś słówko się pojawi to automatycznie wyklucza publikacje postu + ładny komunikat się pojawi.

Dziękuję za pomoc przy doborze odpowiednich funkcji
Pozdrawiam serdecznie i walentynkowo
Jakub

.__.
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
0

Umiesz korzystać z wyszukiwarki? Po angielsku jak i po polsku jest pełno wyników, a z każdym pomysłem biegniesz na forum i chcesz gotowego rozwiązania. Jak sobie z czymś nie radzisz to pokaż kod i podpowiemy, ale myśleć za Ciebie nikt nie będzie.

Zobacz pozostałe 3 komentarze
Jakub Prażmowski
Powinno być takie ogłoszenie administratorskie: "Za strofowanie żółtodziobów i odsyłanie ich do google - BAN. Nie wiesz? Nie pomagaj!" I koniec kropka. Takie jest moje zdanie.
AK
Przyjmij do wiadomości, że zakres zadawanych pytań ogromnie przerasta Twój potencjał. Brak Ci elementarnych koncepcji jak np umiejętność logicznego dogadania się w/s zaokrąglenia. Zamiast tego się wypłakujesz. TOBIE ni da się pomóc w/s budowy bota do cenzury. Równie dobrze można Ci udzielać rad w/s lotu na Księżyc
Jakub Prażmowski
Nie przesadzaj. Już kilka razy byłem na księżycu.
Jakub Prażmowski
Za dużo opcji odpowiedzi. Przemilczę.
mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
1

regex i replace, nic więcej nie trzeba, algo na poziomie pierwszych dni z programowaniem


It's All About the Game.
edytowany 1x, ostatnio: mr_jaro
Jakub Prażmowski
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa AAAAAAAAAAAAAAAAAAAAAAAA.... (paniczny strach)
PA
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 2 lata
  • Postów:426
3

Poczytaj sobie o podstawach przetwarzania języka naturalnego. Stemming i lematyzacja + tokenizacja to zazwyczaj pierwsze tematy, a powinny wystarczyć do budowy takiego bota.

AK
Dla kolegi liczby i zaokrąglenia są problemem. Bez szans.
Jakub Prażmowski
Całe szczęście. Mogę się skupić na ważniejszych problemach.
Jakub Prażmowski
Czy jak wsiadasz do samochodu to myślisz o tym jak się robi bęzynę albo jak inżynierzy skomponowali architekturę silnika tym razem? Nie. Po prostu myślisz dokąd jedziesz. I to jest moje podejście do programowania. Nie interesuje mnie nic, tylko efekt.
Jakub Prażmowski
Przepraszam czy chodziło Ci o Lemingizację?
PA
Pierwszy wynik wyszukiwania dla hasła "lematyzacja" to definicja w jakimś słowniku. Sprawdziłem nawet w bingu i duckduckgo - ten sam wynik.
Jakub Prażmowski
  • Rejestracja:około 5 lat
  • Ostatnio:około 5 lat
  • Postów:110
0
Kopiuj
/\b(\w*work\w*)\b/i

i co wy na to? haha To teraz ta. Przydała by się jakaś fajna pętla i... czy ktoś ma listę wszelkich możliwych polskich bluzgów w tablicy bo mi się nie chce jej układać od nowa ;-).

Serdecznie dziękuję i pozdrawiam
Kuba

Jakbyście byli kolegami, bo byście to zrobili za mnie. Albo od razu podali linka do tego jak ktoś już coś takiego tutaj zrobił na tym forum ;-) ;-)

Kopiuj
<?php
//tablica z bluzgami
$str = "String zawierajacy słowo aasdfstusieukrYŁ!haha";
$bluzgi = array("kurwa", "huj", "dupcyć", "pierdole");
$ile_bluzgow = count($bluzgi);
//pętla preg_match
for ($x = 0; $x <= $ile_bluzgow; $x++) {
    preg_match("/\b(\w*$bluzgi[$x]\w*)\b/i", $str, $matches);
        if(!empty($matches)){
            echo 'Znaleziono złe słowa: ';
            print_r($matches);
        }
} 
?>

Przepraszam, ale preg_match zawsze robi tablicę i ona nigdy nie jest empty.
Jak mam rozróżnić kiedy coś znalazł a kiedy nie?

Dziękuję serdecznie za pomoc!
Pozdrawiam
Kuba

edytowany 3x, ostatnio: cerrato
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:2 minuty
  • Postów:8423
0

"c***"

upewnij się, że nie ocenzuruje słów typu "podsłucc***e".


Jakub Prażmowski
bardzo trafna uwaga. czy ktoś zna jeszcze jakieś błyskotliwe przykłady? ;-)
Jakub Prażmowski
przydała by się pełna lista "błyskotliwych przykładów"
Jakub Prażmowski
myślę, że chyba sobie daruję wyjątki, na mojej stronie nie będzie można posłuchiwać, wymachiwać, przesłuchiwać i rachować, a w szczególności donosić, że ktoś tak robi
Jakub Prażmowski
  • Rejestracja:około 5 lat
  • Ostatnio:około 5 lat
  • Postów:110
0
Kopiuj
<?php
//tablica z bluzgami
$str = "String zawierajacy słowo aasdfsdupcyćtusieukrYŁ!haha"; // dużego Ć już nie łapie !!!
$bluzgi = array("kurwa", "huj", "dupcyć", "pierdole");
$ile_bluzgow = count($bluzgi);
//pętla preg_match
echo '<pre>Znaleziono złe słowo: ';
for ($x = 0; $x <= $ile_bluzgow; $x++) {
    preg_match("/\b(\w*$bluzgi[$x]\w*)\b/i", $str, $matches);
        if(!empty($matches)){
                echo $matches[0];
                // co się dzieje teraz?
                // jeśli znaleziono złe słowo
                // dajemy userowi możliwość poprawy
                // swojego wpisu na ładniejszy
                
                // KOD
                
                // &
                exit;
            }
        } // koniec pętli for z preg_matrz
// jeżeli preg_match nie znalazł żadnych brzydkich słów
// wpis jest gotowy do zapisu
?>
edytowany 1x, ostatnio: Jakub Prażmowski
Jakub Prażmowski
Chcecie zobaczyć jak rośnie moja lista bluzgów do ocenzurowania? Hehe. Czy ktoś może dysponuje gotowcem? ;-)
Jakub Prażmowski
To są rodzynki: Znaleziono ciÄg zankĂłw zawierajÄcy zĹe sĹowo: String
Jakub Prażmowski
Czy stringi to złe słowo?
drorat1
To znajdź sobie w internecie i przekonwertuj z pliku tekstowego na array w PHP a nie liczysz na gotowce :)
drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
0

Tu jest przykład na realizację automatycznej cenzury, zamiany wulgarnych słów na znaki # albo *, konkretniej Text::censor
https://github.com/koseven/koseven/blob/master/system/classes/Kohana/Text.php

Można by porównywać same wejściowe i wyjściowe stringi, przy założeniu że normalnie nikt nie wpisuje ### albo *** no ale można by się bawić i z preg_match.

Jakub Prażmowski
  • Rejestracja:około 5 lat
  • Ostatnio:około 5 lat
  • Postów:110
0

Przepraszam... co jest nie tak w tym kodzie?
Może coś na pierwszy rzut oka zobaczycie?
Dzięki za pomoc!

Kopiuj
<?php
//tablica z bluzgami

$str = "String zawierajacy słowo aasdfsjebaŁduptushujieukrYŁ!haha";

$bluzgi = array("kurwa", "huj", "dupcyć", "dupcyĆ", "pierdole", "kurwo", "jebać", "jebaĆ", "pizdo", "pizda", "frajer", "frajerze", "buc", "bucu", "pojeb", "pojebie", "pierdolona", "pierdolony", "kurwy", "chuj", "chuju", "huju", "huje", "pokurw", "pokurwie", "ciota", "cioto", "szmato", "suka", "suko", "matole", "matoł", "fagas", "zerżnąć", "zerŻnĄĆ", "troll", "smarku", "wypierdalaj", "wypierdalać", "wypierdalaĆ", "dupa", "dupy", "wyrucham", "ruchać", "ruchaĆ", "jebał", "jebaŁ", "zabij", "smarku", "żyg", "Żyg");

$ile_bluzgow = count($bluzgi);

echo '<pre>Znaleziono ciąg zanków zawierający złe słowo: ';

//pętla FOR z preg_match
for ($x = 0; $x <= $ile_bluzgow; $x++) {
    preg_match("/\b(\w*$bluzgi[$x]\w*)\b/i", $str, $matches);
        if($matches[0] !== 'String') {
                echo $matches[0];
                // co się dzieje teraz?
                // jeśli znaleziono złe słowo
                // dajemy userowi możliwość poprawy
                // swojego wpilu na ładniejszy (KOD)
                
                
                
                // &
                exit;
            }
        } // koniec pętli FOR
// jeżeli preg_match nie znalazł żadnych brzydkich słów
// wpis jest gotowy do zapisu
?>

Bo mi przestał wynajdować... :-(

edytowany 1x, ostatnio: Jakub Prażmowski
MA
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 5 lat
  • Postów:63
0
Kopiuj
<?php
# Ponizej znajduja siê wyrazy okreslone jako 'obrazliwe' wiec je¶li
# nie chcesz - nie czytaj

$TXT = "Powiedziala cipa dupie<br>Nie bêdziemy zyli w kupie<br>bo Ty pierdzisz/podpierdujesz<br>interesy z chujem psujesz.<br>Na to cipa obrazona: \"O Ty cipo pierdolona - ciebie dupca tobie placa<br>a mnie bija chuj wie za co !\"";

         $tab_bluzgi=array("0"=>"chuj",
		                   "1"=>"chuju",
						   "2"=>"chujowe",
						   "3"=>"chujostwo",
						   "4"=>"chujnia",
						   "5"=>"chujowiny",
						   "6"=>"chuje",
						   "7"=>"chujach",
						   "8"=>"cipa",
						   "9"=>"cipo",
						   "10"=>"ciptok",
						   "11"=>"cipowisko",
						   "12"=>"ciptu¶",
						   "13"=>"ciptus",
						   "14"=>"pierdol",
						   "15"=>"pierdolony",
						   "16"=>"pierdolone",
						   "17"=>"pierdolona",
						   "18"=>"pierdoliæ",
						   "19"=>"pierdolic",
						   "20"=>"pierdol",
						   "21"=>"spierdalaj",
						   "22"=>"jebany",
						   "23"=>"jebana",
						   "24"=>"jebaæ",
						   "25"=>"jebac",
						   "26"=>"pojebany",
						   "27"=>"pojebana",
						   "28"=>"pojebane",
						   "29"=>"pojebaæ",
						   "30"=>"pojebac",
						   "31"=>"popierdolony",
						   "32"=>"popierdolone",
						   "33"=>"popierdolona",
						   "34"=>"popierdoliæ",
						   "35"=>"popierdolic",
						   "36"=>"popierdalaæ",
						   "37"=>"popierdalac",
						   "38"=>"spierdalaj",
						   "39"=>"spierdalaæ",
						   "40"=>"spierdalac",
						   "41"=>"spierdalanie",
						   "42"=>"zdupcaj",
						   "43"=>"zdupcanie",
						   "44"=>"wykurwiaj",
						   "45"=>"wkurwiaj",
						   "46"=>"wkurwiaæ",
						   "47"=>"wkurwiac",
						   "48"=>"hujowo",
						   "49"=>"pierdol",
						   "50"=>"kutas",
						   "51"=>"pizda",
						   "52"=>"hujek",
						   "53"=>"kutas",
						   "54"=>"skurwysyn",
						   "55"=>"skurwysynu",
						   "56"=>"skurwysynie",
						   "57"=>"kurwo",
						   "58"=>"kurwa",
						   "59"=>"kurwiæ",
						   "60"=>"kurwic",
						   "61"=>"kurwiac",
						   "62"=>"kurwiaæ",
						   "63"=>"wkurwiaj",
						   "64"=>"kurwiaj",
						   "65"=>"wykurwiaj",
						   "66"=>"wykurwiaj",
						   "68"=>"dupe",
						   "69"=>"szmata",
						   "70"=>"szmato"
						   # wisywac kolejne ale uwazac na klucz i wartosc ! (¿eby siê nie pomylic)
						   );
			function bluzgi($arg,$tab_bluzgi,$kolor="red",$rozmiar="13px",$format="verdana"){
			        
					 foreach($tab_bluzgi as $key=>$v):
					 if(stristr($arg,$v)):
					  $arg=str_replace($v,"<font style=\"font-family:$format; color:$kolor; font-size:$rozmiar\">*****</FONT>",$arg);
					 endif;
					 endforeach;
					 return $arg;
					  
			}
			echo "Tekst \"czysty\" (z wulgaryzmami)";
			echo '<br>'. $TXT. '<br><hr>';
			echo "Tekst \"wyczyszczony\" <br>";
			echo bluzgi($TXT,$tab_bluzgi);
?>
Zobacz pozostałe 5 komentarzy
Jakub Prażmowski
Przepraszamy ale Pana post nie nadaje się do zamieszczenia.. WIEM!!!
Azarien
ta lista dyskryminuje rekonstruktorów strojów historycznych, bo nie będą mogli rozmawiać o swoich kutasach… https://pl.wikipedia.org/wiki/Kutas_(ozdoba)
Jakub Prażmowski
Abstrac**** od tego. Nikt mnie tutaj przecież nie podsłuc****. Ja sobie to dobrze wszystko porac****.
MA
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 5 lat
  • Postów:63
1
Kopiuj
<?php
//tablica z bluzgami

$str = "String zawierajacy slowo chuj aasdfsjebaLduptushujieukrYL!haha";

$bluzgi = array("kurwa", "chuj", "dupcyc", "dupcyC", "pierdole", "kurwo", "jebac", "jebaC", "pizdo", "pizda", "frajer", "frajerze", "buc", "bucu", "pojeb", "pojebie", "pierdolona", "pierdolony", "kurwy", "chuj", "chuju", "huju", "huje", "pokurw", "pokurwie", "ciota", "cioto", "szmato", "suka", "suko", "matole", "matol", "fagas", "zerznac", "zerZnAC", "troll", "smarku", "wypierdalaj", "wypierdalac", "wypierdalaC", "dupa", "dupy", "wyrucham", "ruchac", "ruchaC", "jebal", "jebaL", "zabij", "smarku", "zyg", "Zyg");

$how_many = explode(' ', $str);

for($i=0; $i<count($how_many); $i++)
{
	
	if(in_array($how_many[$i], $bluzgi))
	{
		
		exit("Znaleziono brzydkie slowo.");
		
	}
	
}

print "Nie znaleziono brzydkich wyrazów";
?>
Jakub Prażmowski
Dzięki Ci dobry Panie! :-) <3 <3 <3 A działa?
MA
to sobie sprawdz
Jakub Prażmowski
To ja się męczę od rana z odkrywaniem Afryki, a ty szast prast i masz rozwiązanie. Dziękuję Ci serdecznie. :-)
Jakub Prażmowski
  • Rejestracja:około 5 lat
  • Ostatnio:około 5 lat
  • Postów:110
0

Kochasiu Poczekaj, poczekaj, poczekaj. ;-) ;-)

Bo ty tu korzystasz z funkcji in_array która nie zakłada opcji blablachujdupacipalalalaala. A ja robię preg_match. Tylko problem mam taki, że preg mach mi zawsze zwraca tablicę. Nawet jak nic nie znajdzie. A jak odpaliłem tą flagę PREG_UNMATCHED_AS_NULL to mi w ogóle przestało działać.

Tutaj jest potrzeba prawdziwie ekspercka porada.
Za którą z góry dziękuję i pozdrawiam.
Kuba

MA
nie znajdzie bo wczesniej rozbijam wysrzy poprzez explode. po co liczyc countem wszystkie znaki jak mozna same wyrazy ale wtedy szuka w konkretnych wyrazach. Nie chccesz usun explode
Jakub Prażmowski
ale co rozbijasz? znaki w stringu który przeszukujesz?
MA
wiesz co robi count ? count liczy wszystko. Tylko po co liczyc znaki jak ty szukasz wyrazow. Po co zliczac milion pincet znakow jak mozna same wyrazy. Jesli bedziesz mial 10000 znakow tyle razy petla sie wykona (zakladajac ze nie ma tam bluzga) a w przypadku wyrazow bedzie tego znacznie mniej
Jakub Prażmowski
czy twoja metoda znajdzie słowo asdfsdfsdTYCHUJUasdfasfjksadf ???
MA
Zawsze możesz uruchomić
Jakub Prażmowski
  • Rejestracja:około 5 lat
  • Ostatnio:około 5 lat
  • Postów:110
0
Kopiuj
for ($x = 0; $x <= $ile_bluzgow; $x++) {
    preg_match("/\b(\w*$bluzgi[$x]\w*)\b/i", $str, $matches);
        if(!empty($matches)){
            echo 'Znaleziono złe słowa: ';
            print_r($matches);
        }
} 

To mi rozkmiń roszę. Jak obsłużyć preg_match.
Ale to jest tak skomplikowane że wymaga
wielu testów. No więc ja się już tym zajmuję.

Dzięki za pomoc.
Kuba

Jakub Prażmowski
  • Rejestracja:około 5 lat
  • Ostatnio:około 5 lat
  • Postów:110
0

GOTOWY MECHANIZM KONTROLI BLUZGÓW W STRINGU! :-)

Kopiuj
<?php

$str = "String zawierajacy słowo";

$bluzgi = array("kurwa", "huj", "dupcyć", "dupcyĆ", "pierdole", "kurwo", "jebać", "jebaĆ", "pizdo", "pizda", "frajer", "frajerze", "buc", "bucu", "pojeb", "pojebie", "pierdolona", "pierdolony", "kurwy", "chuj", "chuju", "huju", "huje", "pokurw", "pokurwie", "ciota", "cioto", "szmato", "suka", "suko", "matole", "matoł", "fagas", "zerżnąć", "zerŻnĄĆ", "troll", "smarku", "wypierdalaj", "wypierdalać", "wypierdalaĆ", "dupa", "dupy", "wyrucham", "ruchać", "ruchaĆ", "jebał", "jebaŁ", "zabij", "smarku", "żyg", "Żyg", "chuj", "chuju", "chujowe", "chujostwo", "chujnia", "chujowiny", "chuje", "chujach", "chujasz", "cipa", "cipo", "ciptok", "cipowisko", "ciptu¶", "ciptus", "pierdol", "pierdolony", "pierdolone", "pierdolona", "pierdoliæ", "pierdolic", "pierdol", "spierdalaj", "jebany", "jebana", "jebaæ", "jebac", "pojebany", "pojebana", "pojebane", "pojebaæ", "pojebac", "popierdolony", "popierdolone", "popierdolona", "popierdoliæ", "popierdolic", "popierdalaæ", "popierdalac", "spierdalaj", "spierdalaæ", "spierdalac", "spierdalanie", "zdupcaj", "zdupcanie", "wykurwiaj", "wkurwiaj", "wkurwiaæ", "wkurwiac", "hujowo", "pierdol", "kutas", "pizda", "hujek", "kutas", "skurwysyn", "skurwysynu", "skurwysynie", "kurwo", "kurwa", "kurwiæ", "kurwic", "kurwiac", "kurwiaæ", "wkurwiaj", "kurwiaj", "wykurwiaj", "dupe", "szmata", "szmato");

$ile_bluzgow = count($bluzgi);

echo '<pre>Znaleziono ciąg zanków zawierający złe Xsłowo: <br><br>';

for ($x = 0; $x <= $ile_bluzgow; $x++) {
    
    preg_match("/\b(\w*$bluzgi[$x]\w*)\b/i", $str, $matches);
    
        if($matches[0]){

                echo $matches[0].'<br>';
                
                    $handle = $handle + count($matches[0]);
                
                             // TO SĄ JAKIEŚ JAJA CO JA TU MUSIAŁEM ZROBIĆ ŻEBY TO ZADZIAŁAŁO
    
            }
        } 
        
if ($handle == 1){
    
    echo 'Nie ma żadnych bluzgów!';
    
}else{
    
    echo 'Znaleziono jakieś bluzgi!';
    
}
?>

bardzo ważna sprawa... w jakim kodowaniu jest ta lista i
z jakiego kodowania wysyłamy $_POSTa bo jeśli lista nie
jest w UTF-8, a ty będziesz miał forma w UTF-8 to lipa!

Człowiek się uczy na błędach. Po to są.
Programowanie to bardzo indywidualna przygodna.
Pozdrawiam.
Kuba

edytowany 4x, ostatnio: cerrato
drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
1

Tak dla ćwiczeń, na bazie Text::censor z Kohany/Koseven, w celu wyszukiwania podejrzanych słów, również ze sprawdzaniem czy nie są tylko częścią innych słów. Zwraca tablicę znalezionych słów.

Kopiuj
<?php

$badwords = array('chuj', 'dupa', 'kurwa');

function find_badwords($str, $badwords, $partial_words = false)
{
    foreach ($badwords as $key => $badword)
    {
        $badwords[$key] = str_replace('\*', '\S*?', preg_quote($badword));
    }

    $regex = '('.implode('|', $badwords).')';
    if ($partial_words === false)
    {
        $regex = '(?<=\b|\s|^)'.$regex.'(?=\b|\s|$)';
    }
    $regex = '!'.$regex.'!ui';

    preg_match_all($regex, $str, $matches);
    return isset($matches[0]) ? $matches[0] : array();
}

$clean_text = 'To jest tekst bez słów wulgarnych';
$bad_text1 = 'To jest tekst ze słowami chuj, dupa oraz kurwa';
$bad_text2 = 'To jest tekst ze słowami chuj, tojestdupa oraz kurwaaaaa';

$words1 = find_badwords($clean_text, $badwords, false);
$words2 = find_badwords($clean_text, $badwords, true);
$words3 = find_badwords($bad_text1, $badwords, false);
$words4 = find_badwords($bad_text1, $badwords, true);
$words5 = find_badwords($bad_text2, $badwords, false);
$words6 = find_badwords($bad_text2, $badwords, true);

print_r($words1);
print_r($words2);
print_r($words3);
print_r($words4);
print_r($words5);
print_r($words6);

Wynik:

Kopiuj
Array
(
)
Array
(
)
Array
(
    [0] => chuj
    [1] => dupa
    [2] => kurwa
)
Array
(
    [0] => chuj
    [1] => dupa
    [2] => kurwa
)
Array
(
    [0] => chuj
)
Array
(
    [0] => chuj
    [1] => dupa
    [2] => kurwa
)
mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
0

It's All About the Game.
Jakub Prażmowski
  • Rejestracja:około 5 lat
  • Ostatnio:około 5 lat
  • Postów:110
0
mr_jaro napisał(a):

http://marcinmazurek.com.pl/polskie-wulgaryzmy

Kopiuj
\b(\w*cipę\w*)\b

i dochodzimy do sedna problemu w moim przypadku, czyli do polskich znaków w regex
czy ktoś coś wie na ten temat?

dziękuję za odpowiedź
Pozdrawiam
Kuba

edytowany 3x, ostatnio: Jakub Prażmowski
MA
uparles sie na te wyrazenia. Od poczatku podalem ci gotowy przyklad tylko sam nawet tego nie sprawdziles
drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
1

W kodzie wyżej masz:

Kopiuj
preg_match("/\b(\w*$bluzgi[$x]\w*)\b/i", $str, $matches);

a modyfikacja czyli na końcu ui zamiast i jako modyfikator by rozwiązywało sprawę z polskimi znakami, pod warunkiem że masz UTF-8

Kopiuj
preg_match("/\b(\w*$bluzgi[$x]\w*)\b/ui", $str, $matches)

https://www.php.net/manual/en/reference.pcre.pattern.modifiers.php

Jakub Prażmowski
aha ui zamiast i :-) dzięki
Jakub Prażmowski
  • Rejestracja:około 5 lat
  • Ostatnio:około 5 lat
  • Postów:110
0

... pod warunkiem że masz UTF-8

a jak ja mam to deklarować?
gdzieś przed FORMem skąd wysyam POSTa?

dziękuję za odpowiedź
Pozdrawiam
Kuba

drorat1
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Krasnystaw
  • Postów:1181
0

W HTML-u sprawdź czy masz:

Kopiuj
<meta charset="utf-8"/>

No i to:

Kopiuj
<form action="/costam" accept-charset="UTF-8">
Jakub Prażmowski
Tak tak... to chodziło o to... że jeśli form jest wysyłany zanim deklarowałem stronę kodową... to wszystko było fajnie, a jak deklarowałem stronę kodową właśnie na UTF-8 i potem wysyłałem forma (bez accept-charset="UTF-8") to przestawało wyszukiwać przekleństwa z polskimi znakami. Jakoś to rozwiązałem - już nie pamiętam jak, ale chyba działa.
Jakub Prażmowski
Problem polega tylko na tym, że cały czas odkrywam nowe przekleństwa. Np. przezajebiście, przydupcyć... itd. Chyba muszę skonsultować tą listę z Prof. Midokiem.
drorat1
Nowe przekleństwa ale i tak de facto w UTF-8 i tylko dodajesz do array ale to tym wolniej będzie działało

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.