我正在为我的视图实现一个 css 选择器功能。目标是实现自然的 css 选择器来描述 DOMPath 中的元素。这种预格式化将允许更严格的视图组件和布局。
目前我正在寻找路径选择器
- 一般后裔
- 直接孩子
- 第n个孩子()
- 不是()
实施会忽略任何状态,因为服务器端的实施会受到损害/折旧。
我目前有一个与查询中提到的任何特定规则匹配的所有元素的列表
<@CSSQuery> .class#id > ul > a <!CSSQuery>
<@CSSResult> [div#id.class] [···*ul] [···*a] <!CSSResult>
<@CSSSelectors> [">"] [">"] <!CSSSelectors>
这里的想法是,通过一组结构化的选定元素和选择器,系统可以轻松地断言选择器和后代引用。
我正在努力设计一种使用:not(.selector > #With > .queries)
.
我正在使用 DOMDocument、DOMXPath、数组函数和面向对象的设计。
?? 我的问题是如何在不增加大量使用的情况下有效地实现否定,因此它将扩展到大型设计并快速加载。
我正在考虑两种设计
- 通过系统扫描查询以查找与规则的匹配并获取选择器属性的位置
- 控制台系统跟踪它的状态,并使用允许前向和后向 导向器、操作员、charBuffers和跟踪路由的控制流通过查询流进行单次传递。 控制流意味着如果选择器需要提前检查,它可以从一个规则流向另一个规则并遵循跟踪路由以返回操作,并插入删除节点以手动将流的一部分声明为可为空。
为了满足问题标准,实现这种结果的最佳设计模式是什么,任何优缺点,以及是否有任何php
小于 1kb 的 css 选择脚本。
与社区相关的是,会有一个轻量级且没有依赖关系的 php css 选择器类,因此可以很容易地移植到不同的项目中。完成后,我可以发布一个工作实现,以作为关于通过 css 查询选择标签的任何问题的答案。
该项目是一个视图/控制器实现,用户以一种像 Swift 一样富有表现力的方式定义每个视图和控制流。
开源项目的发布版本将是与专有版本分开的分支,其中代码将通过使用 CDN 和付费订阅来移植。