Home >Backend Development >PHP Problem >How to convert php table content to array
How to convert php table content to array: 1. Create a PHP sample file; 2. Convert each row and column of the HTML table to an array through the "function tdToArray($table) {...}" method That’s it.
The operating environment of this article: windows7 system, PHP7.1 version, DELL G3 computer
How to convert the content of php table to an array?
php Regularly matches the table in the html of the web page and converts the content into an array
When connecting to JD.com vop, when JD.com returns the specification attribute, the style in html format is returned. For example
$date=' <table cellpadding="0" cellspacing="1" width="100%"border="0" class="Ptable"> <tr> <th class="tdTitle" colspan="2">主体 </th> <tr> <tr> <td class="tdTitle">品牌 </td> <td>好孩子 </td> </tr> <tr> <td class="tdTitle">主材质 </td> <td>PP </td> </tr> <tr> <td class="tdTitle">规格 </td> <td>800mm*445mm*225 </td> </tr> </table>';
the above table, the preview is
The next step is to extract, the extraction idea is to use regular expressions to convert f5d188ed2c074f8b944552db028f98a1b6c5a531a458a2e790c1fd6421739d1c , a34de1251f0d9fe1e645927f19a896e8 and other tags are deleted first.
Paste the code first
//php采集table表格数据(将HTML表格的每行每列转为数组) function tdToArray($table) { $table = preg_replace("'<table[^>]*?>'si","",$table); $table = preg_replace("'<tr[^>]*?>'si","",$table); $table = preg_replace("'<td[^>]*?>'si","",$table); $table = str_replace("</tr>","{tr}",$table); $table = str_replace("</td>","{td}",$table); //去掉 HTML 标记 $table = preg_replace("'<[/!]*?[^<>]*?>'si","",$table); //去掉空白字符 $table = preg_replace("'([rn])[s]+'","",$table); $table = str_replace(" ","",$table); $table = str_replace(" ","",$table); $table = explode('{tr}', $table); array_pop($table); foreach ($table as $key=>$tr) { // 自己可添加对应的替换 $td = explode('{td}', $tr); array_pop($td); $td_array[] = $td; } return $td_array; }
Use debug to go through the process and observe each step. I won’t go into details, but put a variable of the last $table
The variables after array_pop
are as follows
The \r\n above is to distinguish the added line breaks, which can be replaced by str_replace. In addition, the title can also be replaced, as follows
Final effect
## Recommended learning: "PHP Video Tutorial》
The above is the detailed content of How to convert php table content to array. For more information, please follow other related articles on the PHP Chinese website!