PHP正規表示式抓取某個標籤的特定屬性值的方法
php正則學了一些日子,抓了一些網站的資料,從而發現每次都自己寫正則重新抓很麻煩,於是就想寫一個抓取特定標籤具有特定屬性值的介面通用,直接上程式碼。
//$html-被查詢的字串 $tag-被查詢的標籤 $attr-被查詢的屬性名 $value-被查詢的屬性值 function get_tag_data($html,$tag,$attr,$value){ $regex = "/<$tag.*?$attr=\".*?$value.*?\".*?>(.*?)<\/$tag>/is"; echo $regex."<br>"; preg_match_all($regex,$html,$matches,PREG_PATTERN_ORDER); return $matches[1]; } //返回值為陣列 查詢到的標籤內的內容
下面隨便給出一個例子
header("Content-type: text/html; charset=utf-8"); $temp = '<ul class="noul clearfix"> <li class="w w0"> <a class="i i0 fc01 h" hidefocus="true" href="http://phpway.blog.163.com/">首頁</a> </li> <li class="w w1 selected"> <a class="i i1 fc01 h" hidefocus="true" href="http://phpway.blog.163.com/blog/">日誌</a> </li> <li class="w w9"> <a class="i i9 fc01 h" hidefocus="true" href="http://phpway.blog.163.com/loftarchive/">LOFTER</a> </li> <li class="w w2"> <a class="i i2 fc01 h" hidefocus="true" href="http://phpway.blog.163.com/album/">相簿</a> </li> <li class="w w5"> <a class="i i5 fc01 h" hidefocus="true" href="http://phpway.blog.163.com/friends/">博友</a> </li> <li class="w w6"> <a class="i i6 fc01 h" hidefocus="true" href="http://phpway.blog.163.com/profile/">關於我</a> </li> </ul>'; $result = get_tag_data($temp,"a","class","fc01"); var_dump($result);
輸出結果為
array(6) { [0]=> string(6) "首頁" [1]=> string(6) "日誌" [2]=> string(6) "LOFTER" [3]=> string(6) "相簿" [4]=> string(6) "博友" [5]=> string(9) "關於我" }
檢視原始碼可以看到
array(6) { [0]=> string(6) "首頁" [1]=> string(6) "日誌" [2]=> string(6) "LOFTER" [3]=> string(6) "相簿" [4]=> string(6) "博友" [5]=> string(9) "關於我" }
第一次寫blog好緊張哈哈哈,希望會對大家有用,也希望大家能指出程式碼其中的問題,測試做的不是很多~~
以上所述是小編給大家介紹的PHP正規表示式抓取某個標籤的特定屬性值的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015106/viewspace-2877212/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 正規表示式查詢具有指定屬性值的html標籤HTML
- 正值表示式匹配html標籤的屬性值HTML
- 正規表示式從<img>標籤中提取src屬性值圖片路徑
- HTML <a> 標籤的正規表示式HTML
- 匹配HTML標籤的正規表示式HTML
- 正規表示式 lastIndex屬性ASTIndex
- 正規表示式 source 屬性
- 正規表示式 global屬性
- 正規表示式 global 屬性
- 正規表示式 sticky屬性
- 正規表示式 sticky 屬性
- 正規表示式 flags屬性
- 匹配html標籤正規表示式HTML
- 匹配 HTML 標籤正規表示式HTML
- 正規表示式處理圖片地址、img標籤的方法
- 正規表示式 ignoreCase屬性
- 正規表示式 ignoreCase 屬性
- 正規表示式 multiline 屬性
- 10個實用的PHP正規表示式PHP
- 15個實用的PHP正規表示式PHP
- 15 個實用的 PHP 正規表示式PHP
- 請教如何在標籤的dostart裡獲取當前頁面的URL地址以及父標籤的標籤型別和某個屬性的屬性值呢?型別
- php –正規表示式PHP
- PHP正規表示式PHP
- 正規表示式取src中包含特定字元的地址字元
- 10個實用的PHP正規表示式彙總PHP
- 利用正規表示式去除所有html標籤,只保留文字HTML
- 正規表示式 split()方法
- php一些常用的正規表示式PHP
- PHP中的正規表示式及模式匹配PHP模式
- 正規表示式在PHP裡的應用PHP
- 標籤的 src 屬性
- 正規表示式的字串替換方法字串
- Oracle正規表示式匹配中文的方法Oracle
- 【正規表示式】常用的正規表示式(數字,漢字,字串,金額等的正規表示式)字串
- lambda 表示式從集合中獲取某個欄位屬性的集合
- PHP正規表示式完全手冊PHP
- C#獲取某個物件的屬性值C#物件