![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Witam. Przejdę od razu do rzeczy. Mam taki ciąg znaków
Kod Dec 2 13:24:40 zzz sshd[7317]: Failed password for bin from xx.xx.xx.xx port 39817 ssh2 a do niego taki wzór Kod /^([a-zA-Z]{3})( {1,2})([0-9]{1,2}) ([0-9]{2}):([0-9]{2}):([0-9]{2}) (.*?) (.*?): (.*?)$/ Preg_match zwraca Kod array(10) { a chciałbym aby zwrócił tylko i wyłącznie ostatni element tablicy. Wiem, że mogę to zrobić po prostu w kodzie np. [0]=> string(95) "Dec 2 13:24:40 zzz sshd[7317]: Failed password for bin from xx.xx.xx.xx port 39817 ssh2" [1]=> string(3) "Dec" [2]=> string(2) " " [3]=> string(1) "2" [4]=> string(2) "13" [5]=> string(2) "24" [6]=> string(2) "40" [7]=> string(3) "zzz" [8]=> string(10) "sshd[7317]" [9]=> string(56) "Failed password for bin from xx.xx.xx.xx port 39817 ssh2" } ale mi chodzi o to aby we wzorze wyrażenia ograniczyć elementy, które maja być zwracane. Ewentualnie może zwracać tablicę z ustalonymi kluczami tak, żeby np zamiast klucza 9 była treść. Czy jest to możliwe? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
powywalaj nawiasy, to co jest między nimi zostaje zwrócone w wynikach, wystarczy że zostawisz ostatnią parę nawiasów i powinno być ok
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Że tak powiem - no i gitara. O to mi chodziło. Dzięki wielkie
A jeszcze mam drugie szybkie pytanie. Z tego co zwraca preg_match chciałbym wyciągnąć pewne rzeczy w ten sposób, że daje Kod Failed password for %user% from %ipAddr% port %port% ssh2 i mam w zmiennych kolejno user, ipAddr, port wartości z tego co zwraca preg_match. Zagmatwałem trochę ale myślę, że jest to zrozumiałe ![]() Ten post edytował Mlodycompany 2.12.2012, 14:12:25 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
str_replace, ew. sprintf (musiałbyś %user% zamienić na %s itd, wszystko jest w manualu)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
chodzi mi zupełnie o co innego. Otóż np do funkcji daje 2 argumenty Failed password for bin from xx.xx.xx.xx port 39817 ssh2 i
Failed password for %user% from %ipAddr% port %port% ssh2 a ona tworzy mi zmienne $user $ipAddr $port z zawartością odpowiednio bin xx.xx.xx.xx 39817 Napisałem sobie taką funkcję. Gdyby komuś była potrzebna to ją tutaj umieszczam
Kod string(7) "mayesto"
string(11) "xx.xx.xx.xx" string(5) "52345" Ten post edytował Mlodycompany 2.12.2012, 16:00:01 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 11:48 |