Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
 private function CssToRule($selector, $index)
 {
     $xPath = new CssToXpath($selector, $this->prefix);
     $rule = new Rule($xPath->getXpath(), $xPath->getPseudo(), $xPath->getDepth(), $index++);
     return $rule;
 }