Manual Pembangunan Pengumpul QueryList
/ 區(qū)域選擇器例子
區(qū)域選擇器例子
Query( ) 方法第三個(gè)參數(shù),區(qū)域選擇器,詳情:$range 區(qū)域選擇器 (可選)
<?php require 'querylist/vendor/autoload.php'; use QL\QueryList; //采集#main下面的li里面的內(nèi)容 $html =<<<STR <div id="main"> <ul> <li> <h1>這是標(biāo)題1</h1> <span>這是文字1<span> </li> <li> <h1>這是標(biāo)題2</h1> <span>這是文字2<span> </li> </ul> </div> STR; //方法一,不推薦 $data = QueryList::Query($html,array( 'title' => array('#main>ul>li>h1','text'), 'content' => array('#main>ul>li>span','text') ))->data; print_r($data); //方法二,設(shè)置范圍選擇器 $data = QueryList::Query($html,array( 'list' => array('h1','text'), 'content' => array('span','text') ),'#main>ul>li')->data; print_r($data); /** 兩種方式的輸出結(jié)果都相同: Array ( [0] => Array ( [title] => 這是標(biāo)題1 [content] => 這是文字1 ) [1] => Array ( [title] => 這是標(biāo)題2 [content] => 這是文字2 ) ) */ //但方法一有嚴(yán)重的缺陷,例如html變成這樣,其它代碼不變 $html =<<<STR <div id="main"> <ul> <li> <h1>這是標(biāo)題1</h1> </li> <li> <h1>這是標(biāo)題2</h1> <span>這是文字2<span> </li> </ul> </div> STR; /** 方法一輸出結(jié)果,結(jié)果已經(jīng)錯(cuò)位了: Array ( [0] => Array ( [title] => 這是標(biāo)題1 [content] => 這是文字2 ) [1] => Array ( [title] => 這是標(biāo)題2 ) ) 方法二輸出結(jié)果,依舊正確: Array ( [0] => Array ( [list] => 這是標(biāo)題1 [content] => ) [1] => Array ( [list] => 這是標(biāo)題2 [content] => 這是文字2 ) ) */