Mam następujący ciąg (nazwa opony):
Barum 215/75 R17.5 BT43 [135/133] J TL
Chcę wydobyć szerokość opony (215).
Zrobiłem tak:
Tablica $res ma taką zawartość:
Niby coś zwraca, ale za dużo. Jedyna wartość jaką chcę uzyskać w wyniku zastosowania funkcji to 215.
Mam prośbę aby ktoś z Was naprostował mój, zapewne błędny, tok rozumowania.
To co wiem (a raczej wydaje mi się, że wiem):
@ - zaczynam wyrażenie
[ ] - spacja poprzedzająca liczbę 215
.*? - to chcę wyciągnąć z ciągu (215)
[/] - element stały ciągu
[0-9]{2} 2 cyfry
[ ] spacja kończąca interesującą mnie część ciągu
Zakładam, że całe moje rozumowanie jest błędne i proszę doświadczone osoby na nakierowanie na prawidłowe myślenie.
Czy .*? oznacza część ciągu, która zostanie zwrócona do tablicy? Jeśli nie to w jaki sposób oznaczyć miejsce tego, co chcę uzyskać?
Czy preg_match_all zwraca wszystko oznaczone .*? (lub innym znakiem), a jednocześnie znajdujące się w środku znaków określonych przez wyrażenia regularne "z lewej i prawej" strony?
Chodzi o to czy wyrazenie_z_lewej([ ]) czy_tutaj_jest_to_co_uzyskam wyrażenie_z_prawej([/][0-9]{2}[ ]) zwróci czy_tutaj_jest_to_co_uzyskam?
Jak poprawnie zapisać wyrażenie ujęte w przykładzie aby zwróciło wartość 215?
Z góry dziękuję za pomoc.
Pozdrawiam Łukasz