zxqfox/css-selector-parser
Composer 安装命令:
composer require zxqfox/css-selector-parser
包简介
Simple CSS selector parser. PHP port of https://github.com/mdevils/node-css-selector-parser
README 文档
README
Fast and low memory CSS selector parser.
Parses CSS selector into object-model.
Installation
composer require zxqfox/css-selector-parser
Usage
use CSSSelectorParser\Parser; $parser = new Parser(); $parser->registerSelectorPseudos('has'); $parser->registerNestingOperators('>', '+', '~'); $parser->registerAttrEqualityMods('^', '$', '*', '~'); $parser->enableSubstitutes(); $css = 'a[href^=/], .container:has(nav) > a[href]:lt($var)'; echo json_encode($parser->parse($css), JSON_PRETTY_PRINT);
Produces:
{ type: 'selectors',
selectors:
[ { type: 'ruleSet',
rule:
{ tagName: 'a',
attrs: [ { name: 'href', operator: '^=', valueType: 'string', value: '/' } ],
type: 'rule' } },
{ type: 'ruleSet',
rule:
{ classNames: [ 'container' ],
pseudos:
[ { name: 'has',
valueType: 'selector',
value: { type: 'ruleSet', rule: { tagName: 'nav', type: 'rule' } } } ],
type: 'rule',
rule:
{ tagName: 'a',
attrs: [ { name: 'href' } ],
pseudos: [ { name: 'lt', valueType: 'substitute', value: 'var' } ],
nestingOperator: '>',
type: 'rule' } } } ] }
Token description
type may be one of:
- selectors — list of selectors, token contains selectors array of ruleSet tokens (based on "," operator).
- ruleSet — selector, token contains rule field with rule-type object.
- rule — single rule.
Fields for rule type.
- tagName — tag name for the rule (e.g. "div"), may be '*'.
- classNames — list of CSS class names for the rule.
- attrs — list of attribute rules; rule may contain fields:
- name — attribute name, required field.
- valueType — type of comparison value ("string" or "substitute").
- operator — attribute value comparison operator.
- value — comparison attribute value.
- pseudos — list of pseudo class rules; rule may contain fields:
- name — pseudo name, required field.
- valueType — argument type ("string", "selector" or "substitute").
- value — pseudo argument.
- nestingOperator — the operator used to nest this rule (e.g. in selector "tag1 > tag2", tag2 will have nestingOperator=">")
- rule — nested rule.
License
MIT
zxqfox/css-selector-parser 适用场景与选型建议
zxqfox/css-selector-parser 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11.01k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2014 年 10 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「css」 「CSS selector」 「css selector parser」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 zxqfox/css-selector-parser 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 zxqfox/css-selector-parser 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 zxqfox/css-selector-parser 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A Twig extension to insert css as inline styles with a tag
Easy to use SDK with grabber for multiple platforms at once like YouTube, Dailymotion, Facebook and more.
Caching and compression for Twig assets (JavaScript and CSS).
Contao 4 Css Style Selector bundle
A fieldtype that allows you to select a template from a dropdown.
An MT940 bank statement parser for PHP
统计信息
- 总下载量: 11.01k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 19
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-10-27