php正規替換table的實作方法:首頁使用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>';登入後複製如上的表格,預覽為
# 接下來便是進行提取, 提取思路是利用正則把
, 等標籤先刪除掉。 先貼上程式碼
//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; }登入後複製用debug 走流程,觀察每一步,具體就不詳述,放一張最後$table的變數
經過array_pop之後的變數
是如下
上面的\r\n 是為了區分加的換行, 可以用str_replace 替換,另外還有標題也可以替換,如下
# 最終效果
## 推薦學習:《
PHP影片教學》
以上是php正規替換table怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!
相關標籤:來源:php.cn本網站聲明本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn作者最新文章
2023-04-24 11:00:01 2023-04-24 10:55:51 2023-04-24 10:52:44 2023-04-23 17:40:51 2023-04-23 17:38:02 2023-04-23 17:34:02 2023-04-23 10:15:45 2023-04-23 10:10:52 2023-04-21 16:01:59 2023-04-21 15:58:01最新問題PHP數組從URL參數中取得的行為不如預期 我有一個包含類別ID的URL參數,我想將其視為一個數組,如下所示:http://example.com?cat[]=3,9,13在PHP中,我使用它從URL參數取得數組:$catI...來自於 2024-04-06 22:09:02011428我應該在 apache 中哪裡放置 CustomLog 指令 我正在使用php:7.2-apachedocker。我需要禁用運行狀況檢查url登入訪問日誌。基於此鏈接,他們提到了有關修改Customlog指令的資訊。我不是關於需要更改Cust...來自於 2024-04-06 22:03:5901990傳回值中變數的格式是什麼? 我是php的新學習者。我發現有一段程式碼:if($x<time()){return[false,'error'];}邏輯或變數並不重要,但我不明白[false,'error'...來自於 2024-04-06 21:55:2001778依照ID對MySQL結果進行分組以便循環遍歷 我有一個表,其中有mysql中的航班資料。我正在編寫一個php程式碼,它將使用codeigniter3對資料進行分組和顯示journey_idair_idFlightDuratio...來自於 2024-04-06 17:27:5601406相關專題更多>熱門教學更多>
php入門教程之一週學會PHP4270580 JAVA 初級入門影片教學2548053 小甲魚零基礎入門學習Python影片教學507867 PHP 零基礎入門教學863607