PHP preg_match_all函數(shù)用法詳解
最近在研究爬蟲,對(duì)抓取的頁面進(jìn)行解析,需要用到這個(gè)函數(shù)。由于之前對(duì)這個(gè)函數(shù)只是一知半解,結(jié)果被狠狠地坑了一把。
flags 是可省略的,默認(rèn)值是PREG_PATTERN_ORDER,還可以有其他值,這個(gè)會(huì)影響matches的內(nèi)容形式。但這個(gè)不重要,只需知道缺省flags時(shí),matches是什么樣子就可以了。
pattern和subject就不多說了,重點(diǎn)說一說matches。
matches(注意這里是引用)是一個(gè)二維數(shù)組,matches[0] 是整個(gè)pattern匹配的結(jié)果。matches[1] 是第一個(gè)子模式(正則表達(dá)式中的子模式,就是圓括號(hào)括起來的部分)匹配的結(jié)果,matches是 第二個(gè)子模式的匹配結(jié)果。
而且,這個(gè)函數(shù)的返回值是整個(gè)pattern匹配到的結(jié)果數(shù)量。
現(xiàn)舉例說明:
<?php
$pattern = "/<[^>]+>(.*)</[^>]+>/U";
$subject = "<b>example:</b><div align = left>this is a test</div>";
preg_match_all($pattern,$subject,$out);
print_r($out);
?>
注意$pattern中標(biāo)紅的就是子模式。

注意這個(gè)結(jié)果的形式,array[0]是整個(gè)pattern匹配到的結(jié)果,array[1]是pattern中子模式 (.*) 所匹配到的結(jié)果。但是array[1]匹配的結(jié)果是和array[0]中的結(jié)果相對(duì)應(yīng)。
本站其他內(nèi)容推薦
1、Zippo nausea incongruity salami begrime histone sedan Toyota conniving pyrgologist
2、younger sister中文翻譯,younger sister是什么意思,younger sister發(fā)音、用法及例句
3、hine是什么意思,hine中文翻譯,hine發(fā)音、用法及例句
4、咄咄逼人什么意思,咄咄逼人的意思,咄咄逼人成語解釋,咄咄逼人是什么意思含義寓意
5、柱天踏地的意思,柱天踏地成語解釋,柱天踏地是什么意思含義寓意
6、水木清華的意思,水木清華成語解釋,水木清華是什么意思含義寓意
8、worldly是什么意思,worldly中文翻譯,worldly怎么讀、發(fā)音、用法及例句
9、擔(dān)心的近義詞是什么,擔(dān)心的近義詞,擔(dān)心是什么意思,擔(dān)心的同義詞
10、提問者的英文,英語,questioners是什么意思,questioners中文翻譯,questioners怎么讀、發(fā)音、用法及例句
11、升空的英文,英語,levitation是什么意思,levitation中文翻譯,levitation怎么讀、發(fā)音、用法及例句
版權(quán)聲明: 本站僅提供信息存儲(chǔ)空間服務(wù),旨在傳遞更多信息,不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任,不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如因作品內(nèi)容、版權(quán)和其它問題需要同本網(wǎng)聯(lián)系的,請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。