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语言、MySQL数据库和HTML/CSS基础知识制作一个完整的新闻发布系统。 技能要求 在学习之前,你需要掌握以下技能: 基本的PHP语言知识,如变量、函数和数组等 MySQL数据库基本操作知识,如建立数据表,插入数据、更新数据和查询数据等 HTML、CSS基础知识,如标签…

    PHP 2023年5月24日
    00
  • PHP实现对数组简单求交集,差集,并集功能示例

    当我们需要对数组进行交集、差集或者并集运算的时候,PHP提供了一些简单实用的函数来帮助我们完成,这些函数包括array_intersect、array_diff和array_merge。 1. array_intersect函数 array_intersect函数可以用来计算两个或多个数组的交集,返回包含同时存在于两个或多个数组中的元素的新数组。 $arra…

    PHP 2023年5月26日
    00
  • uniApp微信小程序使用腾讯地图定位功能及getLocation需要在app.json中声明permission字段问题解决

    以下是详细的攻略: 问题描述 在使用uniApp开发微信小程序时,如果需要使用腾讯地图的定位功能,需要在app.json中声明permission字段。如果不声明就会出现定位功能无法使用或报错的问题。 解决步骤 1. 在app.json中声明permission字段 打开uniApp项目下的app.json文件,在”mp-weixin”字段下添加”permi…

    PHP 2023年5月23日
    00
  • PHP后台备份MySQL数据库的源码实例

    下面我将为您详细讲解“PHP后台备份MySQL数据库的源码实例”的完整攻略。 一、介绍 在网站开发过程中,数据备份是非常重要的一项工作,数据库的备份可以保证网站数据的安全性,防止重要数据丢失造成不可挽回的损失。本文将介绍如何使用PHP编写一个后台自动备份MySQL数据库的工具。 二、开发工具 本文使用以下工具进行开发: MySQL数据库 Navicat fo…

    PHP 2023年5月26日
    00
  • php查询类的方法总结

    标题:PHP查询类的方法总结 说明:本文将介绍PHP中常用的查询类的方法总结,包括MySQLi类、PDO类等。以下是详细的介绍: MySQLi类 MySQLi是PHP中一个强大的数据库操作类,可以用于执行MySQL数据库的查询、插入、更新和删除等操作。以下是MySQLi类的常用方法: __construct($host, $user, $password, …

    PHP 2023年5月26日
    00
  • MySQL连接数超过限制的解决方法

    MySQL是一款常用的关系型数据库,在使用的过程中可能会遇到连接数超过限制的问题,那么该如何解决呢? 以下是解决MySQL连接数超过限制问题的完整攻略: 1. 查看当前连接数 在出现连接数超过限制的问题时,首先要了解当前的连接情况。可以使用如下命令查看当前连接数: show status like ‘Threads_connected’; 2. 修改MySQ…

    PHP 2023年5月27日
    00
  • PHP生成静态HTML页面最简单方法示例

    下面是一份详细的攻略,包含了两条示例: PHP生成静态HTML页面最简单方法示例 为了将一个动态的 PHP 页面生成静态的 HTML 页面,我们需要使用一个名为ob_start()的 PHP 函数来缓存输出。然后,我们仅需将这个缓存的内容(即网页的 HTML 代码)写入到一个静态的 .html 文件中。 下面是实现这个过程的具体步骤: 开启 PHP 输出缓存…

    PHP 2023年5月27日
    00
  • php遍历目录方法小结

    PHP遍历目录方法小结 在PHP中,遍历目录是一个常见的操作。通过对目录进行遍历,我们可以轻松地获取目录中的所有文件和子目录。以下是关于如何使用PHP遍历目录以及常见的相关函数的小结。 使用 opendir 函数打开目录 首先,我们需要使用opendir函数打开要遍历的目录。该函数返回一个目录句柄,以便后续操作使用。函数原型如下: resource open…

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