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

php table內容怎麼轉數組

藏色散人
發布: 2023-03-13 09:20:01
原創
2659 人瀏覽過

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;;
登入後複製

如上的表格,預覽為

#  接下來是進行提取, 提取思路是利用正則把

等標籤先刪除掉。

 先貼程式碼 

//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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板