2011-11-17 146 views
1

多維數組我有@file_get_contents($url)取出解析的HTML數據是像PHP創建解析器

<script type="text/javascript">var stock = 
new Array(); 
stock['704'] = new Array('92 (1-2)', 913, 'n.A.', '104 (3-4)', 2371, 'n.A.', '116 (5-6)', 1921, 'n.A.', '128 (7-8)', 4626, 'n.A.', '140 (9-10)', 4222, 'n.A.', '152 (11-12)', 4281, 'n.A.'); 
stock['101'] = new Array('92 (1-2)', 3444, 'n.A.', '104 (3-4)', 10136, 'n.A.', '116 (5-6)', 18834, 'n.A.', '128 (7-8)', 30662, 'n.A.', '140 (9-10)', 28981, 'n.A.', '152 (11-12)', 25982, 'n.A.'); 
stock['540'] = new Array('92 (1-2)', 505, 'n.A.', '104 (3-4)', 1220, 'n.A.', '116 (5-6)', 1634, 'n.A.', '128 (7-8)', 1381, 'n.A.', '140 (9-10)', 3187, 'n.A.', '152 (11-12)', 5014, 'n.A.'); 
stock['700'] = new Array('92 (1-2)', 401, 'n.A.', '104 (3-4)', 724, 'n.A.', '116 (5-6)', 1078, 'n.A.', '128 (7-8)', 1247, 'n.A.', '140 (9-10)', 2767, 'n.A.', '152 (11-12)', 2207, 'n.A.'); 
stock['448'] = new Array('92 (1-2)', 517, 'n.A.', '104 (3-4)', 727, 'n.A.', '116 (5-6)', 1721, 'n.A.', '128 (7-8)', 1537, 'n.A.', '140 (9-10)', 2382, 'n.A.', '152 (11-12)', 1820, 'n.A.'); 
stock['423'] = new Array('92 (1-2)', 876, 'n.A.', '104 (3-4)', 1110, 'n.A.', '116 (5-6)', 5196, 'n.A.', '128 (7-8)', 3159, 'n.A.', '140 (9-10)', 7727, 'n.A.', '152 (11-12)', 3656, 'n.A.'); 
stock['121'] = new Array('92 (1-2)', 781, 'n.A.', '104 (3-4)', 13363, 'n.A.', '116 (5-6)', 13300, 'n.A.', '128 (7-8)', 1964, 'n.A.', '140 (9-10)', 3591, 'n.A.', '152 (11-12)', 2552, 'n.A.'); 
stock['719'] = new Array('92 (1-2)', 188, 'n.A.', '104 (3-4)', 1313, 'n.A.', '116 (5-6)', 2109, 'n.A.', '128 (7-8)', 2076, 'n.A.', '140 (9-10)', 2292, 'n.A.', '152 (11-12)', 2674, 'n.A.'); var imageTmp = new Array(); 
</script><body> 

最終輸出我需要是需要是這樣的多維數組。像92(1-2)這樣的值也可以是字母。

Array 
(
    [704] => Array 
     (
      [92 (1-2)] => Array 
     (
      [qty] => 913 
      [price] => n.A 

     ) 
      [104 (3-4)] => Array 
     (
      [qty] => 2371 
      [price] => n.A 

     ) 
      [116 (5-6)] => Array 
     (
      [qty] => 1921 
      [price] => n.A 

     )  
     ) 

    [101] => Array 
     (
      [92 (1-2)] => Array 
     (
      [qty] => 3444 
      [price] => n.A 

     ) 
      [104 (3-4)] => Array 
     (
      [qty] => 10136 
      [price] => n.A 

     ) 
      [116 (5-6)] => Array 
     (
      [qty] => 18834 
      [price] => n.A 

     )  
     ) 

    [700] => Array 
     (
      [XS] => Array 
     (
      [qty] => 3444 
      [price] => n.A 

     ) 
      [L] => Array 
     (
      [qty] => 10136 
      [price] => n.A 

     ) 
      [S] => Array 
     (
      [qty] => 18834 
      [price] => n.A 

     )  
     ) 

) 

我怎麼能得到這個

+2

你怎麼能得到什麼? – JJJ

+0

@ alvin-brown歡迎!阿爾文你必須在你的問題更具體...... –

+0

你有「影響力」的影響力嗎?即你可以在提供數據的其他服務器上更改腳本嗎? – VolkerK

回答

1

你可能在頁面上打印一個數組,然後提取使用file_get_contents該頁面的內容。你的問題是內容不是數組?

快速解決此問題的方法是將數組輸出爲serialized字符串。然後你可以簡單地做unserialize再次有一個可行的數組。