private function CssToRule($selector, $index) { $rule = new \stdclass(); $xPath = new CssToXpath($selector, $this->prefix); $rule->query = $xPath->getXpath(); $rule->pseudo = $xPath->getPseudo(); $rule->depth = $xPath->getDepth(); $rule->index = $index++; return $rule; }
private function CssToRules($selector, $index, $properties) { $parts = explode(',', $selector); $rules = []; foreach ($parts as $part) { $xPath = new CssToXpath($part, $this->valueParser, $this->prefix); $rules[$part] = new \Transphporm\Rule($xPath->getXpath(), $xPath->getPseudo(), $xPath->getDepth(), $index++); $rules[$part]->properties = $properties; } return $rules; }
public function parse() { $css = $this->cds; $rules = []; $pos = 0; while ($next = strpos($css, '{', $pos)) { $rule = new \stdclass(); $selector = trim(substr($css, $pos, $next - $pos)); $x = new CssToXpath($selector); $rule->query = $x->getXpath(); $rule->pseudo = $x->getPseudo(); $pos = strpos($css, '}', $next) + 1; $rule->rules = $this->getRules(trim(substr($css, $next + 1, $pos - 2 - $next))); $rules[] = $rule; } return $rules; }
private function CssToRule($selector, $index) { $xPath = new CssToXpath($selector, $this->prefix); $rule = new Rule($xPath->getXpath(), $xPath->getPseudo(), $xPath->getDepth(), $index++); return $rule; }