1 回答

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
您的正則表達(dá)式中有一個(gè)小錯(cuò)誤。您需要按如下方式轉(zhuǎn)義方括號(hào)。您還需要對(duì)外殼使用大括號(hào),因?yàn)檫@是“數(shù)據(jù)”中顯示的實(shí)際哨兵:
preg_match("/window\['ads_imgs'\] = '{.*}'/", $data, $m);
不過,您可能只想要 json 本身。為此,您可以進(jìn)行另一個(gè)正則表達(dá)式匹配,$m[0]如下所示:
preg_match("/{.*}/", $m[0], $j_str);
這是使用示例數(shù)據(jù)的完整測(cè)試:
$data = " window['ads_imgs'] = '{\"1734275\":\"https:\/\/media2.lajumate.ro\/media\/i\/cart\/5\/173\/1734275_chevrolet-aveo-5-usi_7.jpg\",\"a\":{\"b\":\"bb\"}}' ";
preg_match("/window\['ads_imgs'\] = '{.*}'/", $data, $m);
preg_match("/{.*}/", $m[0], $j_str);
$json = json_decode($j_str[0], true);
print_r($json);
輸出:
Array
(
[1734275] => https://media2.lajumate.ro/media/i/cart/5/173/1734275_chevrolet-aveo-5-usi_7.jpg
[a] => Array
(
[b] => bb
)
)
- 1 回答
- 0 關(guān)注
- 171 瀏覽
添加回答
舉報(bào)