- Get Started
- 基础
- 进阶
- 技巧
- 插件推荐
- API
- Get Started
- 基础 API
- QueryList html($html)
- string getHtml($rel = true)
- QueryList rules(array $rules)
- QueryList range($selector)
- QueryList removeHead()
- QueryList query(Closure $callback = null)
- Collection getData(Closure $callback = null)
- Array queryData(Closure $callback = null)
- QueryList static getInstance()
- void destruct()
- void destructDocuments() 静态方法
- QueryList pipe(Closure $callback)
- 特殊 API
- 高级 API
- 默认插件
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
AbsoluteUrl 插件
转换URL相对路径到绝对路径.
安装
composer require jaeger/querylist-absolute-url
API
- absoluteUrl($baseUrl): 转换页面所有Url为绝对路径,return QueryList
- absoluteUrlHelper($baseUrl,$relativeUrl): 单链接转换帮助函数,return string
安装选项
QueryList::use(AbsoluteUrl::class,$opt1,$opt2)
- $opt1:
absoluteUrl
函数别名。 - $opt2:
absoluteUrlHelper
函数别名。
用法
- 安装插件
use QL\QueryList;
use QL\Ext\AbsoluteUrl;
$ql = QueryList::getInstance();
$ql->use(AbsoluteUrl::class);
//或者自定义函数名
$ql->use(AbsoluteUrl::class,'absoluteUrl','absoluteUrlHelper');
- 转换所有连接
$data = $ql->get('https://toutiao.io/')
->absoluteUrl('https://toutiao.io/')
->find('a')->attrs('href');
print_r($data);
输出:
Array
(
[0] => https://toutiao.io/
[1] => https://toutiao.io/explore
[2] => https://toutiao.io/posts/hot/7
[3] => https://toutiao.io/contribute
[4] => https://toutiao.io/account/subscriptions
//....
)
- 使用转换帮助函数
$data = $ql->rules([
'link' => ['h3>a','href']
])->range('.post')->get('https://toutiao.io/')->query()->getData(function ($item) use($ql){
//使用帮助函数单独转换某个链接
$item['link'] = $ql->absoluteUrlHelper('https://toutiao.io/',$item['link']);
return $item;
});
print_r($data);
输出:
Array
(
[0] => Array
(
[link] => https://toutiao.io/
)
[1] => Array
(
[link] => https://toutiao.io/explore
)
[2] => Array
(
[link] => https://toutiao.io/posts/hot/7
)
[3] => Array
(
[link] => https://toutiao.io/contribute
)
[4] => Array
(
[link] => https://toutiao.io/account/subscriptions
)
//...
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论