<th id="rfb1j"></th>
<strike id="rfb1j"><dl id="rfb1j"><del id="rfb1j"></del></dl></strike><th id="rfb1j"><video id="rfb1j"><ruby id="rfb1j"></ruby></video></th>
<ruby id="rfb1j"></ruby>
<span id="rfb1j"><dl id="rfb1j"><ruby id="rfb1j"></ruby></dl></span>
<span id="rfb1j"></span>
<strike id="rfb1j"><i id="rfb1j"><del id="rfb1j"></del></i></strike>
<ruby id="rfb1j"></ruby>
<span id="rfb1j"></span>
<strike id="rfb1j"><i id="rfb1j"></i></strike>
<ruby id="rfb1j"></ruby>
當前位置:首頁 > 學習>正文

PHP preg_match_all函數用法詳解

05-04 互聯網 未知 學習
int preg_match_all ( string pattern, string subject, array &matches [, int flags] )

最近在研究爬蟲,對抓取的頁面進行解析,需要用到這個函數。由于之前對這個函數只是一知半解,結果被狠狠地坑了一把。

flags 是可省略的,默認值是PREG_PATTERN_ORDER,還可以有其他值,這個會影響matches的內容形式。但這個不重要,只需知道缺省flags時,matches是什么樣子就可以了。

pattern和subject就不多說了,重點說一說matches。

matches(注意這里是引用)是一個二維數組,matches[0] 是整個pattern匹配的結果。matches[1] 是第一個子模式(正則表達式中的子模式,就是圓括號括起來的部分)匹配的結果,matches是 第二個子模式的匹配結果。

而且,這個函數的返回值是整個pattern匹配到的結果數量。

現舉例說明:


<?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中標紅的就是子模式。
PHP preg_match_all函數用法詳解

注意這個結果的形式,array[0]是整個pattern匹配到的結果,array[1]是pattern中子模式 (.*) 所匹配到的結果。但是array[1]匹配的結果是和array[0]中的結果相對應。
 

版權聲明: 本站僅提供信息存儲空間服務,旨在傳遞更多信息,不擁有所有權,不承擔相關法律責任,不代表本網贊同其觀點和對其真實性負責。如因作品內容、版權和其它問題需要同本網聯系的,請發送郵件至 舉報,一經查實,本站將立刻刪除。

猜你喜歡

久久久久久曰本AV免费免费
<th id="rfb1j"></th>
<strike id="rfb1j"><dl id="rfb1j"><del id="rfb1j"></del></dl></strike><th id="rfb1j"><video id="rfb1j"><ruby id="rfb1j"></ruby></video></th>
<ruby id="rfb1j"></ruby>
<span id="rfb1j"><dl id="rfb1j"><ruby id="rfb1j"></ruby></dl></span>
<span id="rfb1j"></span>
<strike id="rfb1j"><i id="rfb1j"><del id="rfb1j"></del></i></strike>
<ruby id="rfb1j"></ruby>
<span id="rfb1j"></span>
<strike id="rfb1j"><i id="rfb1j"></i></strike>
<ruby id="rfb1j"></ruby>