区域选择器例子

收藏482

阅读23793

更新时间2022-04-11

Query( ) 方法第三个参数,区域选择器,详情:$range 区域选择器 (可选)

<?php
require 'querylist/vendor/autoload.php';
use QL\QueryList;
//采集#main下面的li里面的内容
$html =<<<STR
<div id="main">
    <ul>
        <li>
          <h1>这是标题1</h1>
          <span>这是文字1<span>
        </li>
        <li>
          <h1>这是标题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);
//方法二,设置范围选择器
$data = QueryList::Query($html,array(
    'list' => array('h1','text'),
    'content' => array('span','text')
    ),'#main>ul>li')->data;
print_r($data);
/**
 两种方式的输出结果都相同:
Array
(
    [0] => Array
        (
            [title] => 这是标题1
            [content] => 这是文字1
        )
    [1] => Array
        (
            [title] => 这是标题2
            [content] => 这是文字2
        )
)
 */
//但方法一有严重的缺陷,例如html变成这样,其它代码不变
$html =<<<STR
<div id="main">
    <ul>
        <li>
          <h1>这是标题1</h1>
        </li>
        <li>
          <h1>这是标题2</h1>
          <span>这是文字2<span>
        </li> 
    </ul>
</div>
STR;
/**
 方法一输出结果,结果已经错位了:
 Array
(
    [0] => Array
        (
            [title] => 这是标题1
            [content] => 这是文字2
        )
    [1] => Array
        (
            [title] => 这是标题2
        )
)
方法二输出结果,依旧正确:
Array
(
    [0] => Array
        (
            [list] => 这是标题1
            [content] => 
        )
    [1] => Array
        (
            [list] => 这是标题2
            [content] => 这是文字2
        )
)
 */


科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

62万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.5万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

71.3万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.9万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23.1万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

34.1万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号