《交响乐5:快车道》的封面ob娱乐下载

ob娱乐下载交响乐5:快车道是学习现代Symfony发展,从零到生产的最好书籍。ob娱乐下载+300页展示Symfony与Docker,ob娱乐下载 api,队列和异步任务,Webpack, spa等。

CssSelector组件

5.3版本
ob娱乐下载Symfony 5.3支持通过JoliCode

CssSelector组件

CssSelector组件将CSS选择器转换为XPath表达式。

安装

1
美元作曲家需要symfony / csob娱乐下载s选择器

请注意

如果在Symfony应用程序之外安装此组件,则必须使用ob娱乐下载供应商/ autoload.php以启用Composer提供的类自动加载机制。读这篇文章为更多的细节。

使用

另请参阅

本文解释了如何在任何PHP应用程序中使用CssSelector特性作为独立组件。读了ob娱乐下载Symfony功能测试学习如何在创建Symfony测试时使用它。ob娱乐下载

为什么要使用CSS选择器?

在解析HTML或XML文档时,迄今为止最强大的方法是XPath

XPath表达式非常灵活,因此几乎总是有一个XPath表达式能够找到您需要的元素。不幸的是,它们也会变得非常复杂,学习曲线非常陡峭。即使是常见的操作(例如查找具有特定类的元素)也可能需要冗长而笨拙的表达式。

许多开发人员,特别是网页开发人员,更喜欢使用CSS选择器来查找元素。和在样式表中工作一样,CSS选择器在JavaScript中使用querySelectorAll ()函数和流行的JavaScript库,如jQuery, Prototype和MooTools。

CSS选择器不如XPath强大,但更容易编写、阅读和理解。由于它们功能较弱,几乎所有CSS选择器都可以转换为等价的XPath。然后,可以将这个XPath表达式与其他使用XPath查找文档中的元素的函数和类一起使用。

CssSelector组件

组件的唯一目标是将CSS选择器转换为它们的XPath等价项toXPath ():

使用ob娱乐下载Symfony \ \ CssSelector \ CssSelectorConverter组件;美元转换=CssSelectorConverter();var_dump(美元转换->toXPath('div.item > h4 > a'));

输出如下:

1
/h4/a . include (conat (' ',normalize-space(@class), ' '), ' item ')

你可以用这个表达,例如,DOMXPathSimpleXMLElement查找文档中的元素。

提示

爬虫:过滤器()方法使用CssSelector组件根据CSS选择器字符串查找元素。看到DomCrawler组件为更多的细节。

CssSelector组件的限制

并不是所有的CSS选择器都可以转换为XPath等价物。

有几个CSS选择器只在web浏览器上下文中有意义。

  • 链路状态选择器::链接,:参观,:目标
  • 基于用户操作的选择器::徘徊,:专注,:主动
  • ui状态选择器::无效,:不确定(然而,:启用,:禁用,:检查:不是可用的)

伪元素(:在,:在,:一线,:首字母)不受支持,因为它们选择的是文本部分而不是元素。

部分支持伪类:

  • 不支持:*: first-of-type,*: last-of-type,*: nth-of-type*: nth-last-of-type(所有这些都与元素名一起工作。李:first-of-type),但不是用*选择器)。
  • 支持:*: only-of-type

了解更多

这项工作,包括代码样本,是在一个创作共用BY-SA 3.0许可证。