Skip to content

setQuery( ) 方法

返回值:QueryList对象


重新设置选择器,不会再次重复的取抓取一遍目标页面源码,用于重复DOM解析同一个页面多处的内容。

原型:

php
setQuery(array $rules, $range = '',$outputEncoding = null, $inputEncoding = null,$removeHead = false)
setQuery(array $rules, $range = '',$outputEncoding = null, $inputEncoding = null,$removeHead = false)

参数解释同Query


用法

php
<?php

require 'vendor/autoload.php';

use QL\QueryList;

$html =<<<STR
<div class="xx">
    <span>
        xxxxxxxx
    </span>
    <img src="/path/to/1.jpg" alt="">
</div>
STR;

//DOM解析文本
$ql = QueryList::Query($html,array(
        'txt' => array('span:eq(0)','text')
    ));

print_r($ql->data);

//DOM解析图片
$ql->setQuery(array(
        'image' => array('.xx img','src') 
    ));

print_r($ql->data);
/**
DOM解析结果:
Array
(
    [0] => Array
        (
            [txt] => xxxxxxxx
        )

)
Array
(
    [0] => Array
        (
            [image] => /path/to/1.jpg
        )

)
**/
<?php

require 'vendor/autoload.php';

use QL\QueryList;

$html =<<<STR
<div class="xx">
    <span>
        xxxxxxxx
    </span>
    <img src="/path/to/1.jpg" alt="">
</div>
STR;

//DOM解析文本
$ql = QueryList::Query($html,array(
        'txt' => array('span:eq(0)','text')
    ));

print_r($ql->data);

//DOM解析图片
$ql->setQuery(array(
        'image' => array('.xx img','src') 
    ));

print_r($ql->data);
/**
DOM解析结果:
Array
(
    [0] => Array
        (
            [txt] => xxxxxxxx
        )

)
Array
(
    [0] => Array
        (
            [image] => /path/to/1.jpg
        )

)
**/