php将HTML表格每行每列转为数组实现采集表格数据的方法

要将HTML表格的每行每列转为数组,实现采集表格数据,可以采用以下步骤:

1.首先,根据table标签的id或class属性找到目标表格。

2.通过PHP的DOMDocument类,将HTML代码解析为DOM结构,然后用DOMXPath类查找表格中的每一行。

3.对每一行进行循环遍历,将每个单元格的内容存入关联数组中,并将该数组存入外层的索引数组中。

4.最后,返回整个二维数组。

以下是示例代码:

示例1:

<?php
$html = '<table>
            <tr>
                <td>Name</td>
                <td>Age</td>
                <td>Gender</td>
            </tr>
            <tr>
                <td>John</td>
                <td>25</td>
                <td>Male</td>
            </tr>
            <tr>
                <td>Jane</td>
                <td>30</td>
                <td>Female</td>
            </tr>
        </table>';

$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);

$tableRows = $xpath->query('//table[@class="table"]//tr');

$data = [];

foreach ($tableRows as $row) {
    $rowData = [];
    foreach ($row->getElementsByTagName('td') as $cell) {
        $rowData[] = $cell->nodeValue;
    }
    $data[] = $rowData;
}

print_r($data);
?>

输出结果:

Array
(
    [0] => Array
        (
            [0] => Name
            [1] => Age
            [2] => Gender
        )

    [1] => Array
        (
            [0] => John
            [1] => 25
            [2] => Male
        )

    [2] => Array
        (
            [0] => Jane
            [1] => 30
            [2] => Female
        )

)

示例2:

<?php
$html = '<table id="my-table">
            <tr>
                <td>Product</td>
                <td>Price</td>
            </tr>
            <tr>
                <td>Shoes</td>
                <td>$50</td>
            </tr>
            <tr>
                <td>Shirt</td>
                <td>$20</td>
            </tr>
        </table>';

$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);

$tableRows = $xpath->query('//table[@id="my-table"]//tr');

$data = [];

foreach ($tableRows as $row) {
    $rowData = [];
    foreach ($row->getElementsByTagName('td') as $cell) {
        $rowData[] = $cell->nodeValue;
    }
    $data[] = $rowData;
}

print_r($data);
?>

输出结果:

Array
(
    [0] => Array
        (
            [0] => Product
            [1] => Price
        )

    [1] => Array
        (
            [0] => Shoes
            [1] => $50
        )

    [2] => Array
        (
            [0] => Shirt
            [1] => $20
        )

)

通过以上示例能够看出,对于不同的HTML表格,通过修改XPath表达式可以找到不同的表格,并将其转换为二维数组的形式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php将HTML表格每行每列转为数组实现采集表格数据的方法 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • php生成用户密码的两种方式

    下面是PHP生成用户密码的两种方式的具体攻略: 方式一:使用PHP内置函数password_hash() 使用PHP内置函数password_hash()生成密码是一种比较常用的方式。password_hash()函数能够帮助我们生成安全的哈希密码,同时也自动进行加盐操作,避免了简单的hash被彩虹表破解。 代码示例 <?php $password =…

    PHP 2023年5月26日
    00
  • PHP判断图片格式的七种方法小结

    文章标题:PHP判断图片格式的七种方法小结 介绍 在开发Web应用程序的过程中,我们经常需要处理图片。可以根据需要对图片进行裁剪、缩放、旋转等操作。不过在对图片进行操作之前,我们首先需要确定图片的格式。本文将介绍PHP判断图片格式的七种方法。 方法1:通过文件扩展名判断图片格式 判断图片格式最简单的方法就是根据文件扩展名来判断,因为不同的图片格式通常有不同的…

    PHP 2023年5月26日
    00
  • 提升PHP执行速度全攻略(上)

    下面我将为您详细讲解“提升PHP执行速度全攻略(上)”的完整攻略。 提升PHP执行速度全攻略(上) PHP作为一门动态语言,执行效率一直是其所面临的瓶颈之一。本文将从以下几个方面为您详细介绍提升PHP执行速度的方法: 1. 使用 OpCache OpCache是一个基于opcode的缓存系统,可以存储PHP解析后的opcode,从而减少代码的解析时间,提高P…

    PHP 2023年5月30日
    00
  • PHP 程序授权验证开发思路

    这里详细讲解一下 “PHP 程序授权验证开发思路” 的完整攻略。 简述 开发程序授权验证功能,是为了维护软件的版权,防止用户未授权或盗版使用软件。针对PHP程序,可以通过一些技术手段来实现授权验证功能。 实现思路 实现PHP程序授权验证的主要思路是通过如下步骤: 生成授权文件:该文件中包含了授权信息,比如授权码、授权时间、授权期限等信息。 安装授权文件:将授…

    PHP 2023年5月23日
    00
  • php获取网卡的MAC地址支持WIN/LINUX系统

    要在PHP中获取网卡的MAC地址,需要使用系统相关的命令或API。在Windows系统中,可以使用WMI(Windows Management Instrumentation),而在Linux系统中,可以通过执行命令行获取。下面是获取MAC地址的完整攻略: 1. 方式一:使用PHP调用WMI获取MAC地址(适用于Windows系统) Windows Mana…

    PHP 2023年5月24日
    00
  • 完美实现wordpress禁止文章修订和自动保存的方法

    下面我会详细讲解“完美实现WordPress禁止文章修订和自动保存的方法”的完整攻略。这个攻略可以帮助到想要提升WordPress博客性能的用户,提高编辑文章时的效率和舒适度。整个过程分为以下两步: 第一步:禁用文章修订版本功能 文章的修订版本功能默认是打开的,每次保存文章时都会保存当前版本和之前版本之间的差异。长期的使用会从数据库中积累大量无用的数据,增加…

    PHP 2023年5月23日
    00
  • php计算十二星座的函数代码

    针对“php计算十二星座的函数代码”的问题,我可以提供以下完整攻略: 1. 星座计算原理 首先,我们需要了解一下星座计算的原理。一般来说,我们通过给定的出生日期,可以得到一个人的星座信息。具体计算方法如下: 首先,将出生日期按照年、月、日分别进行处理,得到对应的数值。 然后,根据星座的划分规则,计算出对应的起始日期和结束日期。 最后,将出生日期与起始日期和结…

    PHP 2023年5月26日
    00
  • 谈谈 PHP7新增功能

    当PHP 7发布时,引入了一些新的特性,包括新的语法结构、错误处理和针对性能更好的改进。下面将一一介绍这些改进和新特性。 新的语法结构 Scalar Type Declarations 在PHP 7中,我们可以为函数的参数和返回值指定标量数据类型。这些数据类型包括int、float、string、bool。 下面是一个例子: function add(int…

    PHP 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部