PHP正則表達(dá)式抓取某個標(biāo)簽的特定屬性值的方法
php正則學(xué)了一些日子,抓了一些網(wǎng)站的數(shù)據(jù),從而發(fā)現(xiàn)每次都自己寫正則重新抓很麻煩,于是就想寫一個抓取特定標(biāo)簽具有特定屬性值的接口通用,直接上代碼。
//$html-被查找的字符串 $tag-被查找的標(biāo)簽 $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]; } //返回值為數(shù)組 查找到的標(biāo)簽內(nèi)的內(nèi)容
下面隨便給出一個例子
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" >首頁</a> </li> <li class="w w1 selected"> <a class="i i1 fc01 h" hidefocus="true" >日志</a> </li> <li class="w w9"> <a class="i i9 fc01 h" hidefocus="true" >LOFTER</a> </li> <li class="w w2"> <a class="i i2 fc01 h" hidefocus="true" >相冊</a> </li> <li class="w w5"> <a class="i i5 fc01 h" hidefocus="true" >博友</a> </li> <li class="w w6"> <a class="i i6 fc01 h" hidefocus="true" >關(guān)于我</a> </li> </ul>'; $result = get_tag_data($temp,"a","class","fc01"); var_dump($result);
輸出結(jié)果為
array(6) { [0]=> string(6) "首頁" [1]=> string(6) "日志" [2]=> string(6) "LOFTER" [3]=> string(6) "相冊" [4]=> string(6) "博友" [5]=> string(9) "關(guān)于我" }
查看源碼可以看到
array(6) { [0]=> string(6) "首頁" [1]=> string(6) "日志" [2]=> string(6) "LOFTER" [3]=> string(6) "相冊" [4]=> string(6) "博友" [5]=> string(9) "關(guān)于我" }
第一次寫blog好緊張哈哈哈,希望會對大家有用,也希望大家能指出代碼其中的問題,測試做的不是很多~~
以上所述是小編給大家介紹的PHP正則表達(dá)式抓取某個標(biāo)簽的特定屬性值的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
基于Python正則表達(dá)式提取搜索結(jié)果中的站點(diǎn)地址
正則表達(dá)式對于Python來說并不是獨(dú)有的,最近在鼓搗一個東西把google搜索的結(jié)果中所有的站點(diǎn)地址導(dǎo)出,于是想到用python正則表達(dá)式提取搜索結(jié)果中的站點(diǎn)地址,小編把具體實(shí)現(xiàn)思路整理分享給大家2015-10-10正則表達(dá)式檢查來訪IP是否合法的實(shí)際應(yīng)用
正則表達(dá)式檢查來訪IP是否合法的實(shí)際應(yīng)用...2007-04-04Linux正則表達(dá)式特性詳解及BRE與ERE的異同點(diǎn)
本篇文章給大家介紹linux正則表達(dá)式特性及BRE與ERE的不同,Linux正則表達(dá)式(Regular Expression)主要遵從POSIX BRE或者POSIX ERE標(biāo)準(zhǔn),對linux正則表達(dá)式感興趣的朋友可以參考下本篇文章2015-10-10dw(dreamweaver)正則表達(dá)式函數(shù)列表
dw(dreamweaver)正則表達(dá)式函數(shù)列表,需要的朋友可以參考下。2007-12-12最全的常用正則表達(dá)式大全——包括校驗(yàn)數(shù)字、字符、一些特殊的需求等
很多不太懂正則的朋友,在遇到需要用正則校驗(yàn)數(shù)據(jù)時,往往是在網(wǎng)上去找很久,結(jié)果找來的還是不很符合要求。所以我最近把開發(fā)中常用的一些正則表達(dá)式整理了一下,在這里分享一下。給自己留個底,也給朋友們做個參考。2015-09-09