我有一個HTML表格想解析爲JSON。PHP:解析HTML表格到JSON
<table class="valas" border="0">
<tr>
<th>Mata Uang</th><th>Jual</th><th>Beli</th>
</tr><tr class="odd">
<td>USD</td><td class="number">11.450,00</td><td class="number">11.300,00</td>
</tr><tr class="even">
<td>AUD</td><td class="number">11.094,00</td><td class="number">10.494,00</td>
</tr><tr class="odd">
<td>CAD</td><td class="number">11.169,00</td><td class="number">10.669,00</td>
</tr><tr class="even">
<td>CHF</td><td class="number">12.719,00</td><td class="number">12.219,00</td>
</tr><tr class="odd">
<td>EUR</td><td class="number">15.678,00</td><td class="number">15.028,00</td>
</tr><tr class="even">
<td>GBP</td><td class="number">18.525,00</td><td class="number">17.725,00</td>
</tr><tr class="odd">
<td>HKD</td><td class="number">1.643,00</td><td class="number">1.293,00</td>
</tr><tr class="even">
<td>JPY</td><td class="number">118,87</td><td class="number">113,37</td>
</tr><tr class="odd">
<td>SAR</td><td class="number">3.233,00</td><td class="number">2.833,00</td>
</tr><tr class="even">
<td>SGD</td><td class="number">9.454,00</td><td class="number">8.854,00</td>
</tr>
</table>
而且我有一些PHP代碼,我從谷歌上搜索發現:
<?php
include("simple_html_dom.php");
$html = file_get_html('index.html');
$row_count=0;
$json = array();
foreach ($html->find('tr') as $row) {
$currency = $row->find('td',0)->innertext;
$sell = $row->find('td',1)->innertext;
$buy = $row->find('td',2)->innertext;
$json[$currency][$sell][$buy]=true;
}
echo json_encode($json);
?>
而我得到的是對的代碼,它似乎是錯誤的:
{
"":{
"":{
"":true
}
},
"USD":{
"11.450,00":{
"11.300,00":true
}
},
"AUD":{
"11.094,00":{
"10.494,00":true
}
},
"CAD":{
"11.169,00":{
"10.669,00":true
}
},
"CHF":{
"12.719,00":{
"12.219,00":true
}
},
"EUR":{
"15.678,00":{
"15.028,00":true
}
},
"GBP":{
"18.525,00":{
"17.725,00":true
}
},
"HKD":{
"1.643,00":{
"1.293,00":true
}
},
"JPY":{
"118,87":{
"113,37":true
}
},
"SAR":{
"3.233,00":{
"2.833,00":true
}
},
"SGD":{
"9.454,00":{
"8.854,00":true
}
}
}null
但我需要什麼是:
[{
"currency":"USD"{
"sell":"11.450,00"
"buy":"11.300,00"
},
"currency":"AUD"{
"sell":"11.094,00"
"buy":"10.494,00"
},
"currency":"CAD"{
"sell":"11.169,00"
"buy":"10.669,00"
},
"currency":"CHF"{
"sell":"12.719,00"
"buy":"12.219,00"
},
"currency":"EUR"{
"sell":"15.678,00"
"buy":"15.028,00"
},
"currency":"GBP"{
"sell":"18.525,00"
"buy":"17.725,00"
},
"currency":"HKD"{
"sell":"1.643,00"
"buy":"1.293,00"
},
"currency":"JPY"{
"sell":"118,87"
"buy":"113,37"
},
"currency":"SAR"{
"sell":"3.233,00"
"buy":"2.833,00"
},
"currency""SGD"{
"sell":"9.454,00"
"boy":"8.854,00"
}
}]
我認爲問題在於$ json變量,但很難完成。
對我很好。謝謝。 – SENDYYeah
@SENDYYeah歡迎您考慮接受答案! – moonwave99