AbsoluteUrl 插件



  • 转换URL相对路径到绝对路径.
GitHub:https://github.com/jae-jae/QueryList-AbsoluteUrl

安装

  1. 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 函数别名。

用法

  • 安装插件
  1. use QL\QueryList;
  2. use QL\Ext\AbsoluteUrl;
  3. $ql = QueryList::getInstance();
  4. $ql->use(AbsoluteUrl::class);
  5. //或者自定义函数名
  6. $ql->use(AbsoluteUrl::class,'absoluteUrl','absoluteUrlHelper');
  • 转换所有连接
  1. $data = $ql->get('https://toutiao.io/')
  2. ->absoluteUrl('https://toutiao.io/')
  3. ->find('a')->attrs('href');
  4. print_r($data);

输出:

  1. Array
  2. (
  3. [0] => https://toutiao.io/
  4. [1] => https://toutiao.io/explore
  5. [2] => https://toutiao.io/posts/hot/7
  6. [3] => https://toutiao.io/contribute
  7. [4] => https://toutiao.io/account/subscriptions
  8. //....
  9. )
  • 使用转换帮助函数
  1. $data = $ql->rules([
  2. 'link' => ['a','href']
  3. ])->get('https://toutiao.io/')->query()->getData(function ($item) use($ql){
  4. //使用帮助函数单独转换某个链接
  5. $item['link'] = $ql->absoluteUrlHelper('https://toutiao.io/',$item['link']);
  6. return $item;
  7. });
  8. print_r($data);

输出:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [link] => https://toutiao.io/
  6. )
  7. [1] => Array
  8. (
  9. [link] => https://toutiao.io/explore
  10. )
  11. [2] => Array
  12. (
  13. [link] => https://toutiao.io/posts/hot/7
  14. )
  15. [3] => Array
  16. (
  17. [link] => https://toutiao.io/contribute
  18. )
  19. [4] => Array
  20. (
  21. [link] => https://toutiao.io/account/subscriptions
  22. )
  23. //...
  24. )