您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用PHP正則表達式抓取某個標簽的特定屬性值”,在日常操作中,相信很多人在怎么用PHP正則表達式抓取某個標簽的特定屬性值問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用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) "關于我" }
到此,關于“怎么用PHP正則表達式抓取某個標簽的特定屬性值”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。