亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用html dom獲取script標簽下的json數據?

如何使用html dom獲取script標簽下的json數據?

PHP
慕工程0101907 2023-07-30 13:57:02
這是我想要獲取的數據 <script>            window['ads_imgs'] = '{"1734275":"https:\/\/media2.lajumate.ro\/media\/i\/cart\/5\/173\/1734275_chevrolet-aveo-5-usi_7.jpg","11570560":"https:\/\/media1.lajumate.ro\/media\/i\/cart\/0\/115\/11570560_audi-a5-sportback-2012-163cp-impecabila-tinuta-in-garaj_14.jpg","3741462":"https:\/\/media1.lajumate.ro\/media\/i\/cart\/2\/374\/3741462_seat-leon-fr-extra-full-dpf_1.jpg","11596338":"https:\/\/media1.lajumate.ro\/media\/i\/cart\/8\/115\/11596338_toyota-auris-12-115-cp-2016_1.jpg","11687842":"https:\/\/media1.lajumate.ro\/media\/i\/cart\/2\/116\/11687842_opel-astra-h-model-2008_1.jpg","11034666":"https:\/\/media1.lajumate.ro\/media\/i\/cart\/6\/110\/11034666_hyundai-tucson-2008_10.jpg","11596195":"https:\/\/media2.lajumate.ro\/media\/i\/cart\/5\/115\/11596195_volkswagen-passat-20-150-cp-2017_1.jpg","10637740":"https:\/\/media1.lajumate.ro\/media\/i\/cart\/0\/106\/10637740_renault-megane-iii-15-dci-90cp-2017_21.jpg","11884407":"https:\/\/media2.lajumate.ro\/media\/i\/cart\/7\/118\/11884407_audi-a4-        </script>我如何使用 html dom 獲取 id 和圖像鏈接。這里的代碼我得到了確切的腳本,但我無法獲取值window['ads_imgs']                 //receiving the data from script tag               $data = $responseData->find('script',11);                preg_match("/window['ads_imgs'] = '(.*)'/", $data, $m);                    print_r($m);                exit();            }
查看完整描述

1 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

您的正則表達式中有一個小錯誤。您需要按如下方式轉義方括號。您還需要對外殼使用大括號,因為這是“數據”中顯示的實際哨兵:


preg_match("/window\['ads_imgs'\] = '{.*}'/", $data, $m);

不過,您可能只想要 json 本身。為此,您可以進行另一個正則表達式匹配,$m[0]如下所示:


preg_match("/{.*}/", $m[0], $j_str);

這是使用示例數據的完整測試:


$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

        )


)


查看完整回答
反對 回復 2023-07-30
  • 1 回答
  • 0 關注
  • 153 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號