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?