Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wyrażenia regularne
dk1342
post 3.04.2009, 09:07:38
Post #1





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

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


Witam, otóż robie system banów, i jak wiadomo np. neostrada ma zmienne ip, i jak się zbanuje np.
XX.XXX.XXX.XXX to drugiego dnia(po resecie) taka osoba będzie umiała już wejść na stronę, ale też jak wiadomo początki się nie zmieniają czyli np. 12.3.XXX.XXX zmienia się tylko końcówka, więc można zbanować tak 12.3* gdzie gwiazdka zastąpi dowolną ilość znaków i teraz sedno jaką funkcją to zrobić wiem że będzie to chyba preg ale jak wpisuje w google/manualu jest ich pare więc którą dokładnie ?


--------------------
Firefox - The Best,
Internet Exokier - shit

Go to the top of the page
+Quote Post
zzeus
post 3.04.2009, 09:19:30
Post #2





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

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


preg_match() sprawdzasz czy dany ciąg pasuje do wyrażenia


--------------------
Go to the top of the page
+Quote Post
dk1342
post 3.04.2009, 09:31:50
Post #3





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

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


nie zabardzo wiem jak to ułożyć narazie mam takie coś ale na pewno jest to źle :/

  1. <?php
  2. $ip = "12.3*"; // początek ip
  3. $pattern = '/^'.$ip.'/';
  4. preg_match($pattern, $ip, $matches, PREG_OFFSET_CAPTURE);
  5. // i potem w ifu sprawdzam czy $_SERVER['REMOTE_ADDR'] == $matches ...
  6. ?>

nie wiem za bardzo co ułożyć w tym pattern

Ten post edytował dk1342 3.04.2009, 09:39:17


--------------------
Firefox - The Best,
Internet Exokier - shit

Go to the top of the page
+Quote Post
kkuba
post 3.04.2009, 09:59:02
Post #4





Grupa: Zarejestrowani
Postów: 102
Pomógł: 13
Dołączył: 6.07.2008
Skąd: Nowy Sącz

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


Banując na 'host' (host to jest coś innego, ale skoro tak nazywasz dwa pierwsze człony IP, niech tak będzie) dopisuj ban typu: "127.0" zamiast "127.0.0.1", następnie rozbijasz IP wchodzącego na stronę i sprawdzasz, czy dwa pierwsze człony równają się temu wpisowi.

ps. lepiej daruj sobie takie banowanie, bo zbanujesz pół miasta jeśli nie lepiej.
Go to the top of the page
+Quote Post
djszaman
post 3.04.2009, 12:51:44
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 8.07.2008

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


W jaki sposób utworzyć wyrażenie regularne, które wyszuka mi wyrazy z dwoma powtarzającymi się obok siebie literami, np. senny, denny, ścienny itd.?
Go to the top of the page
+Quote Post
megawebmaster
post 3.04.2009, 13:18:12
Post #6





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Np. ^(.)*nn(.)*$
Go to the top of the page
+Quote Post
djszaman
post 3.04.2009, 19:16:05
Post #7





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 8.07.2008

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


hmmm, nie sprecyzowałem dokładnie. Chciałbym, aby powtarzające się litery były dowolne, nie koniecznie nn, ale np. aa, bb, cc...
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.07.2025 - 18:20