为了账号安全,请及时绑定邮箱和手机立即绑定

将抓取结果转换为数组

将抓取结果转换为数组

PHP
慕雪6442864 2021-09-18 17:16:04
我正在使用简单的 HTML DOM 抓取网站,输出如下所示:<tr>    <th>Satuan</th>    <th>Harga Barang 1</th>    <th>Harga Barang 2</th>    <th>Harga Barang 3</th>    <th>Harga Barang 4</th></tr><tr>    <td>0.5</td>    <td>Rp 388.000</td>    <td>Rp 342.000</td>    <td>Rp 456.000</td>    <td>Rp 377.000</td></tr><tr>    <td>1.0</td>    <td>Rp 725.000</td>    <td>Rp 676.000</td>    <td>Rp 855.000</td>    <td>Rp 684.000</td></tr>这是我的代码:<?phpinclude('simple_html_dom.php');$html = new simple_html_dom();$html->load_file("mylink.com/blabla");foreach($html->find('tr') as $e) {    echo $e;}?>如何将输出转换为数组?
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

这是片段,


$ret     = $html->find('tr');

$i       = true;

$headers = [];

foreach ($ret as $key => $value) {

    if ($i) {

        // fetching headers of first row

        foreach ($value->find('th') as $cell) {

            $headers[] = $cell->plaintext;

        }

    } else {

        $temp = [];

        // fetching pending values of td

        foreach ($value->find('td') as $cell) {

            $temp[] = $cell->plaintext;

        }

        // combining headers with values fetched from not first row

        $result[] = array_combine($headers, $temp);

    }

    $i = false;

}

print_r($result);die;

输出


Array

(

    [0] => Array

        (

            [Satuan] => 0.5

            [Harga Barang 1] => Rp 388.000

            [Harga Barang 2] => Rp 342.000

            [Harga Barang 3] => Rp 456.000

            [Harga Barang 4] => Rp 377.000

        )


    [1] => Array

        (

            [Satuan] => 1.0

            [Harga Barang 1] => Rp 725.000

            [Harga Barang 2] => Rp 676.000

            [Harga Barang 3] => Rp 855.000

            [Harga Barang 4] => Rp 684.000

        )


)


查看完整回答
反对 回复 2021-09-18
  • 1 回答
  • 0 关注
  • 149 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信