![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tworze formularz, a raczej skrypt do niego. Sprawdza on oczywiście poprawność wpisanych danych w odpowiednie pola. Więc mam 2 pytania co do instrukcji warunkowych.
1. Chciałbym stworzyć warunek (if), który trzymałby w tablicy wulgarne słowa. W momęcie kliknięcia przeszukiwałby (pola formularza) tekst/zmienne pod względem takich samych wyrazów. I gdy znajdzie przekleństwo wyświetlałby komunikat. Tylko, że tu trzeba uwarzać żeby warunek brał pod uwagę słowa pisane z małych jak i dużych liter (Wiem, że jest taka funkcja nie zwracająca uwagi na wielkość liter, ale nie pamiętam jej nazwy). No i na słowa zawierające tak jaby już w sobie przekleństwo. Np. początek_słowa_przekleństwo_koniec_słowa. Szukałem i w internecie i na forum, ale raczej to są skrypty, a nie instrukcje warunkowe w dodatku korzystające z plików txt. 2. Jak stworzyć warunek (if), który w momęcie kliknięcia przeszukiwałby (pola formularza) tekst/zmienne pod względem powtarzających się takich samych znaków? Dajmy na to gdy jakiś znak występuje 3 lub więcej razy pod rząd Np. 'ccc', 'accca', 'ccccc', 'accccca'. I gdy znajdzie wyświetlałby komunikat. Oczywiście instrukcje warunkowe w miarę umiem pisać, ale na tych 2 problemach utknąłem. (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) Ten post edytował Szunaj85 24.01.2009, 19:10:12 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 711 Pomógł: 127 Dołączył: 5.07.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Ja bym to zrobił tak:
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Na pierwszy rzut oka warunek działa. Jednak tak jak pisałem wyżej uznaje za przekleństwo słowa, które mają w sobie jedynie ciąg znaków przekleństwa. Nie chcę tutaj przeklinać, ale... np. cham - champion.
Da się temu jakoś zaradzić? (IMG:http://forum.php.pl/style_emoticons/default/co_jest.gif) Na drugim warunku też mi zależy. (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cham to nie przekleństwo.
|
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A co to za nowa stała? 1:
może to nie jest najlepszy wzorzec, pisany z palca. 2: Cytat Dajmy na to gdy jakiś znak występuje 3 lub więcej razy pod rząd Np. 'ccc', 'accca', 'ccccc', 'accccca'. I gdy znajdzie wyświetlałby komunikat. Jak dla mnie, wyszłoby bardzo dużo kombinacji... ~potreb, nie to jest problemem. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) PS. Tytuł raczej nie jest związany z warunkami. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Oj przepraszam, ale czasami można szukać sobie dodatkowej dziury w płocie.
Jeżeli chcesz wyeliminować taki przypadek jak przekleństwo w słowie, np: "obśmiechujki" wtedy możesz zastosować banalną metodę, dać spację po słowie chu... wtedy wyeliminujesz wulgaryzmy. Z drugiej strony jestem ciekaw co zrobisz jak ktoś wklepie np szyk D.E.B.I.L Proponuje oprócz prostej metody, rejestracja + banowanie |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jak dla mnie, wyszłoby bardzo dużo kombinacji... erix myślałem, że to będzie prosty warunek, ale skoro tak twierdzisz.Cytat Jeżeli chcesz wyeliminować taki przypadek jak przekleństwo w słowie, np: "obśmiechujki" wtedy możesz zastosować banalną metodę, dać spację po słowie chu... wtedy wyeliminujesz wulgaryzmy. potreb No na to bym nie wpadł. Ten pomysł jest prawie idealny.Cytat Z drugiej strony jestem ciekaw co zrobisz jak ktoś wklepie np szyk D.E.B.I.L Też się zastanawiałem nad tym problemem.Dobra to jeszcze jedno pytanie. Warunek cycofiasz nawet nieźle działa. Mam jeszcze jedno pytanie. Jak przerobić ten warunek tak żeby prócz zmiennej "tresc" (w tym przypadku) sprawdzał przy okazji jeszcze dwie inne zmienne? Przecież nie będę trzy razy wpisywał tego warunku.
Ten post edytował Szunaj85 24.01.2009, 00:14:08 |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A nie byłoby lepiej array_walk_recursive" title="Zobacz w manualu PHP" target="_manual?
Jeśli chodzi o Twój kod, to...
IMHO lepszy byłby tu stripos" title="Zobacz w manualu PHP" target="_manual. PS. NIE MA takiej stałej, jak tresc. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Próbowałem z 'OR', ale jakoś mi ten skrypt nie działał. Ale skoro teraz wiem, że to na pewno 'OR' pewnie dojdę co jest nie tak. (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Jeszcze jedno mi wczoraj umknęło. Pisaliśmy o spacji jako rozwiązaniu problemu brania przez warunek słów za wulgarne, gdy w rzeczywistości nimi nie są. Nie chcę ponownie przeklinać, ale... np. cham - champion. Czy można wstawić jakieś mniej prymitywne rozwiązanie w ten powyższy warunek (2 posty wyżej). Żeby brał pod uwagę każdy znak + spacje lub jego brak oprócz liter przed i po słowie z tablicy czy coś w tym stylu? Np. dowolny_znak+słowo+dowolny_znak (IMG:http://forum.php.pl/style_emoticons/default/co_jest.gif) erix słusznie tutaj sygnalizuje. Też wcześniej zauważyłem ten błąd, ale przy kopiowaniu zapomniałem poprawić. Ten post edytował Szunaj85 24.01.2009, 19:22:54 |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Nie chcę ponownie przeklinać, ale... np. cham - champion. http://sjp.pwn.pl/lista.php?co=cham - nie jest wulg. Cytat Czy można wstawić jakieś mniej prymitywne rozwiązanie w ten powyższy warunek (2 posty wyżej). Żeby brał pod uwagę każdy znak + spacje oprócz liter czy coś w tym stylu? A mój preg? |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat A mój preg? erix zawsze piszesz bardzo ogólnie.Oczywiście próbowałem coś tam kombinować, ale nie wiem co z tym kawałkiem kodu zrobić. Czy wstawić gdzieś w powyższy kod na którym się opieram, a jeśli tak to gdzie? Czy jak? Napisałbyś coś więcej, żebym wiedział o co chodzi. |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A zaglądałeś do manuala?
Krótkie pytanie wyciągające: co robi preg_replace" title="Zobacz w manualu PHP" target="_manual? Cytat erix zawsze piszesz bardzo ogólnie. Owszem, aby dana osoba wykazała więcej zaangażowania w rozwiązanie problemu. Ja tylko naprowadzam, problem masz rozwiązać TY. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chcesz kożystać z pierwszego sposobu dodaj do "zakazanego słowa" spację na końcu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Czyli "abc " a nie "abc" a z pewnością znajdzie tylko jedno abc w tym ciagu znaków: "abcd abc" Pozdrawiam, WebNuLL |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 711 Pomógł: 127 Dołączył: 5.07.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
O co wam chodzi z tą stałą? Jak pisałem skrypt, to miałem pole textarea w formularzu o nazwie 'tresc', więc odwoływałem się do niego przez $_POST[tresc] i działało... Wiem że powinno to być w cudzysłowiu, ale skoro działa to po co kombinować?
|
|
|
![]()
Post
#15
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Wiem że powinno to być w cudzysłowiu, ale skoro działa to po co kombinować? Bo tak NIE POWINNO być. Będziesz miał kod:
To nie będzie szukało elementu tresc, tylko skdjghksaghddfgf Daj sobie na początku:
to wtedy zrozumiesz. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 22:52 |