首頁 >後端開發 >PHP問題 >php正規替換table怎麼實現

php正規替換table怎麼實現

藏色散人
藏色散人原創
2021-05-19 09:33:331559瀏覽

php正規替換table的實作方法:首頁使用php採集table表格資料;然後利用正規把「f5d188ed2c074f8b944552db028f98a1b6c5a531a458a2e790c1fd6421739d1ca34de1251f0d9fe1e645927f19a896e8」等標籤刪除掉;最後加上對應的替換即可。

php正規替換table怎麼實現

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

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