Home Backend Development PHP Problem How to convert php html table into array

How to convert php html table into array

Apr 19, 2023 am 11:29 AM

Tables in HTML are often used to display data. However, when we need to process the data, it is more convenient to convert the table data into an array. PHP is a powerful programming language that provides many functions and methods to process HTML tables and convert them into arrays.

1. The basic format of HTML tables

Before introducing table conversion, we need to understand the basic format of HTML tables. A general HTML table consists of tags such as <table>, <tr>, <th>, and <td>. Among them, <table> represents the entire table, <tr> represents the row, <th> represents the column header, and <td> represents the cell.

For example, the following is a simple HTML table:

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;姓名&lt;/th&gt;
    &lt;th&gt;年龄&lt;/th&gt;
    &lt;th&gt;性别&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;张三&lt;/td&gt;
    &lt;td&gt;25&lt;/td&gt;
    &lt;td&gt;男&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;李四&lt;/td&gt;
    &lt;td&gt;28&lt;/td&gt;
    &lt;td&gt;女&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
Copy after login

2. Use PHP to convert the HTML table into an array

In PHP, we can use regular expressions or DOM to parse HTML tables. Here we introduce a method of using DOM.

  1. Create DOM object

First, we need to create a DOM object and load the HTML content into it. HTML strings can be converted into DOM objects using the simplexml_load_string() function.

$html = '&lt;table&gt;...&lt;/table&gt;';
$dom = new DOMDocument();
$dom-&gt;loadHTML($html);
Copy after login
  1. Traverse table contents

Next, we need to traverse the table contents and store the value of each cell into an array. You can use the getElementsByTagName() method to get all cells in the table.

$table = $dom-&gt;getElementsByTagName('table')[0];
$rows = $table-&gt;getElementsByTagName('tr');
$data = array();
foreach ($rows as $row) {
  $cols = $row-&gt;getElementsByTagName('td');
  $row_data = array();
  foreach ($cols as $col) {
    $row_data[] = $col-&gt;nodeValue;
  }
  $data[] = $row_data;
}
Copy after login

In this code, we first obtain the table object, and then traverse each row. For each row, we get all the cells in it and add the cell's value to an array of row data. Finally, we add the row data to the table data array.

  1. Output table data

Now that we have converted the HTML tables into arrays, they can be output or further processed. For example, we can use the print_r() function to print out the converted data.

print_r($data);
Copy after login

The output results are as follows:

Array
(
    [0] =&gt; Array
        (
            [0] =&gt; 姓名
            [1] =&gt; 年龄
            [2] =&gt; 性别
        )

    [1] =&gt; Array
        (
            [0] =&gt; 张三
            [1] =&gt; 25
            [2] =&gt; 男
        )

    [2] =&gt; Array
        (
            [0] =&gt; 李四
            [1] =&gt; 28
            [2] =&gt; 女
        )
)
Copy after login

3. Conclusion

Through the above code, we can convert the HTML table into a PHP array with a two-dimensional array structure. This approach is a simple yet powerful way to quickly process data in HTML tables. In actual projects, we need to make certain modifications and optimizations to the code based on actual needs.

The above is the detailed content of How to convert php html table into array. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are the best practices for deduplication of PHP arrays What are the best practices for deduplication of PHP arrays Mar 03, 2025 pm 04:41 PM

What are the best practices for deduplication of PHP arrays

Can PHP array deduplication take advantage of key name uniqueness? Can PHP array deduplication take advantage of key name uniqueness? Mar 03, 2025 pm 04:51 PM

Can PHP array deduplication take advantage of key name uniqueness?

What Are the Latest PHP Coding Standards and Best Practices? What Are the Latest PHP Coding Standards and Best Practices? Mar 10, 2025 pm 06:16 PM

What Are the Latest PHP Coding Standards and Best Practices?

Does PHP array deduplication need to be considered for performance losses? Does PHP array deduplication need to be considered for performance losses? Mar 03, 2025 pm 04:47 PM

Does PHP array deduplication need to be considered for performance losses?

How Do I Work with PHP Extensions and PECL? How Do I Work with PHP Extensions and PECL? Mar 10, 2025 pm 06:12 PM

How Do I Work with PHP Extensions and PECL?

How to Implement message queues (RabbitMQ, Redis) in PHP? How to Implement message queues (RabbitMQ, Redis) in PHP? Mar 10, 2025 pm 06:15 PM

How to Implement message queues (RabbitMQ, Redis) in PHP?

What are the optimization techniques for deduplication of PHP arrays What are the optimization techniques for deduplication of PHP arrays Mar 03, 2025 pm 04:50 PM

What are the optimization techniques for deduplication of PHP arrays

How to Use Reflection to Analyze and Manipulate PHP Code? How to Use Reflection to Analyze and Manipulate PHP Code? Mar 10, 2025 pm 06:12 PM

How to Use Reflection to Analyze and Manipulate PHP Code?

See all articles