Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenie regularne na liczby
DNMX
post
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 18.09.2021

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


Jakim wyrażeniem wydobędę z czegoś takiego:
Kod
Długość: 12,5 cm
Szerokość 20cm
Pojemność 0,7 L
Waga 1.5 kg

Liczby:
12,5
20
0,7
1,5
?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DNMX
post
Post #2





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 18.09.2021

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


Jeszcze jedno pytanie w temacie. Zanim wyjdzie mi taka ładna tablica jak w drugim poscie, wykonuję json_decode() na $raw_json który jest stringiem:
Kod
string(314) "{"items":[{"label":"Długość opakowania","value":"1.5 cm"},{"label":"Wysokość opakowania","value":"16 cm"},{"label":"Szerokość opakowania","value":"4.5 cm"},{"label":"Waga brutto","value":"0.08 kg"},{"label":"Wymiary produktu","value":"szer. ostrza 18 mm"},{"label":"Liczba sztuk w opakowaniu","value":"10"}]"

W przypadku powyżej wszystko jest OK ale w takim przypadku:
Kod
string(254) "{"items":[{"label":"Długość opakowania","value":bi},{"label":"Wysokość opakowania","value":"3.75 cm"},{"label":"Szerokość opakowania","value":bi},{"label":"Waga brutto","value":"0.891 kg"},{"label":"Wymiary produktu","value":"3,7 x 3,5 x 3,5 cm"}]"

funkcja json_decode() zwraca pustą tablicę (NULL). Domniemuję, że to dlatego, iż niektóre wartości przyjmują wartość innej zmiennnej, jak np. bi albo bk, bd itp. Zastanawiam się, jak to ominąć. Jedyne co przychodzi mi do głowy to wyrażenie regularne które zamieni
Kod
"value":bi}
"value":bk}
"value":bd}

na
Kod
"value":"0.00"}

Innymi słowy, wartości, które nie są wyescapowane (zaczynają i kończą się na ") zamienić na "0.00". Da się na to stworzyć jakieś wyrażenie regularne?
Go to the top of the page
+Quote Post

Posty w temacie
- DNMX   Wyrażenie regularne na liczby   27.01.2023, 22:39:19
- - Salvation   Kod/\d+(?:(?:,|\.)...   27.01.2023, 23:40:25
- - DNMX   Ok a w czymś takim: var_dump($data) Kodarray...   30.01.2023, 10:02:00
- - trueblue   preg_match nie przeszukuje globalnie, od tego jest...   30.01.2023, 10:09:21
- - DNMX   Zauważyłem, 3-ci parametr niepotrzebyn. Usunąłem a...   30.01.2023, 10:15:59
- - trueblue   Mógłbyś zajrzeć w dokumentację. Dla preg_match_all...   30.01.2023, 10:22:15
- - kreatiff   Spróbuj tak pokombinować (chodzi o wyciąganie tych...   30.01.2023, 10:22:23
- - DNMX   Z preg_replace zadziałało. Dzięki!   30.01.2023, 11:05:08
- - trueblue   Jeśli oprócz wartości pojawi się cyfra w innym mie...   30.01.2023, 11:27:31
- - kreatiff   Słuszna uwaga od trueblue. Jeśli taka sytuacja zac...   30.01.2023, 12:02:55
- - DNMX   Jeszcze jedno pytanie w temacie. Zanim wyjdzie mi ...   1.02.2023, 12:06:32
- - Salvation   Pomijając problem niezamkniętej klamry na końcu, t...   1.02.2023, 13:22:29
- - DNMX   To tylko przykłady nazw stałych. Jest ich mnóśtwo ...   1.02.2023, 13:49:22
- - trueblue   Dodając cudzysłowy do bk, bi, itd., wynik parsowan...   1.02.2023, 14:20:42
- - DNMX   Wiem o tym dlatego szukam regexpa, który zamieni ...   1.02.2023, 22:11:32
- - Salvation   No dobra, to takie coś: [PHP] pobierz, plaintext p...   2.02.2023, 00:07:04
- - DNMX   O dzięki, właśnie o coś takiego chodziło! Zadz...   2.02.2023, 07:07:32
- - viking   Trochę nie rozumiem co ty robisz. Json jest albo p...   2.02.2023, 07:57:26
- - DNMX   Radzę sobię, jak mogę. To nie jest JSON tylko frag...   2.02.2023, 08:02:12
- - Salvation   Spróbuj takie coś. Koniecznie w tej kolejności: [P...   2.02.2023, 09:43:24
- - DNMX   Dzięki, o to właśnie chodziło! W niektórych pl...   2.02.2023, 10:32:13


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 13:46