![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Witajcie, mam takie stringi:
Cytat GD. NADL. 4,00 ZAP. NADG. 157,65 GD. NADL. 12,00 DOP. 26,28 itp... chciałbym aby funkcja zwróciła mi tabelę, gdzie string (jeden z powyższych) będzie podzielony na opis + liczba (np. zwróci tablicę). Wiem, że powinienem użyć coś z rodziny regexp, ale jakoś po licznych próbach nie potrafię sklecić wyrażenia regularnego :/ |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
To by było mniej więcej tak (pisane bez testów):
$linia to jedna linia z tego co zacytowałeś, podzielone rzeczy masz w $tablica |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
niestety nie działa (IMG:style_emoticons/default/sad.gif)
bardzo dziwne mam: gdzie string to: Cytat GD.NADL. 4,00 zwraca pustą tablicę :/ testując wyrażenie w http://regexpal.com/ dla: Cytat [0-9]+(\,[0-9]+)? poprawnie mi podświetla 4,00 :/ Ten post edytował TomASS 10.12.2011, 16:43:19 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Trochę się pomyliłem. Ma być:
Nie preg_replace (jak podałem), ale preg_match. No i znak "+" ma być w środku nawiasu, a nie poza. Natomiast "print_r" na zmiennej $tablica daje wynik: Kod Array ( [0] => GD. NADL. 4,00 [1] => GD. NADL. [2] => 4,00 ) Jak widać, indeksy zawierają: - 0 - cała linia (to, co objął preg_match) - 1 - to, co objął pierwszy nawias - 2 - to, co objął drugi nawias |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję - o to chodziło (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 23:23 |