![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 452 Pomógł: 16 Dołączył: 25.05.2004 Skąd: Gorzów Wlkp. Ostrzeżenie: (0%) ![]() ![]() |
Witam
Zwraca pustą tablicę, jakiego patternu użyć żeby otrzymać dane wyglądające mniej więcej tak: Kod Array lub nawet:0 => Array 0 => Costam1 1 => Costam2 1 => Array 0 => 14 1 => 22 Kod Array Costam1 => 14 Costam2 => 22 Problem prawdopodbnie leży w spacjach/tabach i znakach nowej linii, próbowałem użyć \s ale nie bardzo rozumiem jak to wszystko działa i nic mi nie wyszło. Z góry dzięki za pomoc. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 24 Dołączył: 6.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jakoś tak
<?php $pattern = '/Typ\s+(.+)\s+(.+)(\n|\s)+Il\s+(\d+)\s+(\d+)/'; $string = ' Jakis tam sobie teskt Typ Costam1 Costam2 Il 14 22 bla bla bla'; preg_match($pattern,$string,$match); print_r($match); ?> Ten post edytował sada 10.01.2011, 22:59:43 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 452 Pomógł: 16 Dołączył: 25.05.2004 Skąd: Gorzów Wlkp. Ostrzeżenie: (0%) ![]() ![]() |
Odgrzebałem temat. Na wstępie: dzięki sada, Twoje wyrażenia okazały się pomocne, stoję jednak przed kolejnym problem, mianowicie
Potrzebuję wyrażania, które złapie wszystkie "coś tamy" między Typ a Il bez względu na ilość spacji i tabów które mogą się znaleźć pomiędzy nimi i wsadzi je w ładny array(Costam1,Costam2,itd); Z góry dziękuje za czas poświęcony na pomoc i cierpliwość. Wymyśliłem że mogę zamieniać ewentualne taby na spację, później zrobić explode na 'Typ' i 'Il', później explodować spację i też będę miał w arrayu to co chcę, ale to tylko obejście i ucieczka od regexów. Która metoda wyciągnięcia tych danych będzie wydajniejsza? Całość będzie powtarzana w pętli, maksymalnie 15 razy.
Powód edycji: [Daiquiri]: Temat przeniesiony z przedszkola
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 61 Dołączył: 20.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Potrzebuję wyrażania, które złapie wszystkie "coś tamy" między Typ a Il bez względu na ilość spacji i tabów które mogą się znaleźć pomiędzy nimi Możesz zrobić to dwoma wyrażeniami. Pierwszym wyciągasz wszystko od słowa Typ do końca linijki (flaga m - multiline). Potem rozdzielasz wyrazy oddzielone przynajmniej jednym białym znakiem:
Cytat Wymyśliłem że mogę zamieniać ewentualne taby na spację, później zrobić explode na 'Typ' i 'Il', później explodować spację i też będę miał w arrayu to co chcę, ale to tylko obejście i ucieczka od regexów. Która metoda wyciągnięcia tych danych będzie wydajniejsza? Różnica będzie tak mała, że nie ma to znaczenia. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 03:53 |