佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > PHP正則表達(dá)式抓取某個(gè)標(biāo)簽的特定屬性值的方法

PHP正則表達(dá)式抓取某個(gè)標(biāo)簽的特定屬性值的方法

熱門標(biāo)簽:團(tuán)購(gòu)網(wǎng)站 Linux服務(wù)器 阿里云 Mysql連接數(shù)設(shè)置 電子圍欄 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 服務(wù)器配置 銀行業(yè)務(wù)

php正則學(xué)了一些日子,抓了一些網(wǎng)站的數(shù)據(jù),從而發(fā)現(xiàn)每次都自己寫正則重新抓很麻煩,于是就想寫一個(gè)抓取特定標(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)容

下面隨便給出一個(gè)例子

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" >首頁(yè)/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" >相冊(cè)/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) "首頁(yè)" [1]=> string(6) "日志" [2]=> string(6) "LOFTER" [3]=> string(6) "相冊(cè)" [4]=> string(6) "博友" [5]=> string(9) "關(guān)于我" }

查看源碼可以看到

array(6) {
[0]=>
string(6) "首頁(yè)"
[1]=>
string(6) "日志"
[2]=>
string(6) "LOFTER"
[3]=>
string(6) "相冊(cè)"
[4]=>
string(6) "博友"
[5]=>
string(9) "關(guān)于我"
}

第一次寫blog好緊張哈哈哈,希望會(huì)對(duì)大家有用,也希望大家能指出代碼其中的問(wèn)題,測(cè)試做的不是很多~~

以上所述是小編給大家介紹的PHP正則表達(dá)式抓取某個(gè)標(biāo)簽的特定屬性值的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • php使用正則表達(dá)式獲取字符串中的URL
  • Ajax和PHP正則表達(dá)式驗(yàn)證表單及驗(yàn)證碼
  • PHP利用正則表達(dá)式實(shí)現(xiàn)手機(jī)號(hào)碼中間4位用星號(hào)(*)替換顯示功能

標(biāo)簽:棗莊 江蘇 蚌埠 衡水 廣元 衢州 大理 萍鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP正則表達(dá)式抓取某個(gè)標(biāo)簽的特定屬性值的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    扬州市| 沁水县| 阳江市| 晋中市| 新津县| 罗田县| 晋州市| 连城县| 雅江县| 法库县| 神池县| 汉川市| 顺义区| 和龙市| 东乌珠穆沁旗| 临澧县| 乐平市| 西乡县| 凉城县| 萍乡市| 富川| 洪泽县| 巧家县| 浮山县| 武宁县| 池州市| 棋牌| 泸定县| 邵东县| 大方县| 固镇县| 绥德县| 东丽区| 庆城县| 秦皇岛市| 青神县| 泰来县| 屯门区| 乌鲁木齐市| 湘西| 湘阴县|