php-extended/php-css-selector-object

实现 php-extended/php-css-selector-interface 接口的库。


README

实现 php-extended/php-css-selector-interface 接口的库。

coverage build status

安装

此库的安装通过 composer 完成,并且通过其自动加载器自动加载此库的所有类。

  • 官方网站下载 composer.phar
  • 然后运行以下命令以将此库作为依赖项安装
  • php composer.phar require php-extended/php-css-selector-object ^7

基本用法

要构建 CSS 选择器树,只需使用集合节点和单个节点


use PhpExtended\Css\CssAndSelector;
use PhpExtended\Css\CssOrSelector;
use PhpExtended\Css\CssNotSelector;
use PhpExtended\Css\CssAttributeEqualsSelector;
use PhpExtended\Css\CssElementSelector;
use PhpExtended\Css\CssStateSelector;

$s = new CssElementSelector('p'); // p
$s = new CssAndSelector($s, new CssAttributeEqualsSelector('class', 'foo')); // p.foo
$s2 = new CssAttributeEqualsSelector('id', 'bar'); // #bar
$s2 = new CssAndSelector($s2, new CssAttributeEqualsSelector('data-target', 'foobar')); // #bar[data-target=foobar]
$s = new CssNotSelector($s, new CssAttributeEqualsSelector('class', 'boo')); // p.foo:not(.boo)
$s = new CssOrSelector($s, $s2); // p.foo:not(.boo), #bar[data-target=foobar]

要解析 CSS 选择器数据,请执行以下操作


use PhpExtended\Css\CssSelectorParser;

$parser = new CssSelectorParser();
$node = $parser->parse('div p:not(.foo)');
// $node is now a CssAbstractSelectorInterface

许可协议

MIT (见许可文件)。