首頁 >後端開發 >PHP問題 >php table內容怎麼轉數組

php table內容怎麼轉數組

藏色散人
藏色散人原創
2021-10-14 09:33:132685瀏覽

php table內容轉數組的方法:1、建立一個PHP範例檔案;2、透過「function tdToArray($table) {...}」方法將HTML表格的每行和每列轉為陣列即可。

php table內容怎麼轉數組

本文操作環境:windows7系統、PHP7.1版、DELL G3電腦

php table內容怎麼轉陣列?

php 正規符合網頁html  中的table  把內容轉換成陣列

在對接京東vop 的時候,在京東返回規格屬性的時候,回傳的是html格式的樣式,例

$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>&#39;;

如上的表格,預覽為

#  接下來是進行提取, 提取思路是利用正則把f5d188ed2c074f8b944552db028f98a1b6c5a531a458a2e790c1fd6421739d1c ,a34de1251f0d9fe1e645927f19a896e8等標籤先刪除掉。

 先貼程式碼 

//php采集table表格数据(将HTML表格的每行每列转为数组)
function tdToArray($table) {
    $table = preg_replace("&#39;<table[^>]*?>&#39;si","",$table);
    $table = preg_replace("&#39;<tr[^>]*?>&#39;si","",$table);
    $table = preg_replace("&#39;<td[^>]*?>&#39;si","",$table);
    $table = str_replace("</tr>","{tr}",$table);
    $table = str_replace("</td>","{td}",$table);
    //去掉 HTML 标记
    $table = preg_replace("&#39;<[/!]*?[^<>]*?>&#39;si","",$table);
    //去掉空白字符
    $table = preg_replace("&#39;([rn])[s]+&#39;","",$table);
    $table = str_replace(" ","",$table);
    $table = str_replace(" ","",$table);
    $table = explode(&#39;{tr}&#39;, $table);
    array_pop($table);
    foreach ($table as $key=>$tr) {      // 自己可添加对应的替换
        $td = explode(&#39;{td}&#39;, $tr);
        array_pop($td);
        $td_array[] = $td;
    }
    return $td_array;
}

 用debug 走流程,觀察每一步,具體就不詳述,放一張最後$table的變數

  經過array_pop之後的變數

是如下

  上面的\r\n 是為了區分加的換行, 可以用str_replace 替換,另外還有標題也可以替換, 如下

  最終效果

 推薦學習:《PHP視頻教程

以上是php table內容怎麼轉數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn