由于没有PHPQuery的composer包安装所以需要我们手动在我们的laravel项目中安装加载PHPQuery,这里需要设置laravel的autoload->class map。

1、首先在app目录下创建一个新的文件夹,命名libs(可自定义),在libs下再创建一个phpQuery文件夹

2、找到根目录下的composer.json文件

3、找到composer.json中定义的

"autoload": {
"classmap": [
"database",
"app/libs/phpQuery" //加上
],
"psr-4": {
"App\\": "app/"
}
},

4、运行终端,cd到项目路径,执行

composer dumpautoload

 然后就能在项目中愉快的使用phpQuery了,简单的用法如下:

use phpQuery;

5、PHPQuery的使用

载入文档(loading documents)

加载文档主要通过phpQuery::newDocument来进行操作,其作用是使得phpQuery可以在服务器预先读取到指定的文件或文本内容。

主要的方法包括:

phpQuery::newDocument($html, $contentType = null)

phpQuery::newDocumentFile($file, $contentType = null)

phpQuery::newDocumentHTML($html, $charset = ‘utf-8′)

phpQuery::newDocumentXHTML($html, $charset = ‘utf-8′)

phpQuery::newDocumentXML($html, $charset = ‘utf-8′)

phpQuery::newDocumentPHP($html, $contentType = null)

phpQuery::newDocumentFileHTML($file, $charset = ‘utf-8′)

phpQuery::newDocumentFileXHTML($file, $charset = ‘utf-8′)

phpQuery::newDocumentFileXML($file, $charset = ‘utf-8′)

phpQuery::newDocumentFilePHP($file, $contentType)

 

pq()函数用法

pq()函数的用法是phpQuery的重点,主要分两部分:即选择器和过滤器

【选择器】

要了解phpQuery选择器的用法,建议先了解jQuery的语法

最常用的语法包括有:

pq('#id'):即以#号开头的ID选择器,用于选择已知ID的容器所包括的内容

pq('.classname'):即以.开头的class选择器,用于选择class匹配的容器内容

pq('parent > child'):选择指定层次结构的容器内容,如:pq('.main > p')用于选择class=main容器的所有p标签

更多的语法请参考jQuery手册

【过滤器】

主要包括::first,:last,:not,:even,:odd,:eq(index),:gt(index),:lt(index),:header,:animated等

如:

pq('p:last'):用于选择最后一个p标签

pq('tr:even'):用于选择表格中偶然行

phpQuery连贯操作

pq()函数返回的结果是一个phpQuery对象,可以对返回结果继续进行后续的操作,例如:

pq('a')->attr('href', 'newVal')->removeClass('className')->html('newHtml')->...

详情请查阅jQuery相关资料,用法基本一致,只需要注意.与->的区别即可。

最新文章

  1. Atitit.如何建立研发体系
  2. 企业IT管理员IE11升级指南【3】—— IE11 新的GPO设置
  3. [CareerCup] 18.10 Word Transform 单词转换
  4. 深入javascript
  5. uploadify的用法与动态传参 提供demo下载
  6. leetcode:Add Two Numbers
  7. freetds链接错误
  8. Hadoop MapReduce概念学习系列之JobTracker、ResourceManager、Task Tracker、NodeManager(二十一)
  9. 自己动手写Java大整数《3》除法和十进制转换
  10. 为啥使用Iscroll.js之后,a不能触发点击事件?
  11. BroadcastReceiver的两种注册方式之------动态注册
  12. EF增删改查+使用Expression进行动态排序分页
  13. 201521123067 《Java程序设计》第3周学习总结
  14. Hello World 程序的起源与历史
  15. Django部署方法
  16. python笔记26-编码规范层级目录
  17. 运行Maven项目时出现invalid LOC header (bad signature)错误,Tomcat不能正常启动
  18. python测试开发django-54.xadmin添加自定义页面
  19. react recompose
  20. BZOJ4127Abs——树链剖分+线段树

热门文章

  1. codeforces540E-树状数组求逆序对
  2. php:一个题目,关于优先级,及$a++和$a=$a+1,
  3. 《javascript设计模式》笔记之第九章:组合模式
  4. android模拟器创建时的PANIC: Could not open:错误的解决
  5. Appium基础二:Appium的安装(基Windows)
  6. PHP超全局变量、魔术变量和魔术方法
  7. SQL Server 2017的Linked Server配置触发的bug“Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION”
  8. 洛谷 P3387 【模板】缩点
  9. 微软Bot Framework文档中,关于Sign-in Card的一处代码错误及更正
  10. 使用nginx搭建一个简单的负载均衡