function outputSelector(CSSSelector $sel) { $out = ''; foreach ($sel->getSimpleSelectors() as $s) { if ($s[0] !== NULL) { $out .= $this->outputCombinator($s[0]); } $out .= $this->outputSimpleSelector($s[1]); } return $out; }
private function parseSelector($oList) { $oResult = new CSSSelector(); $oResult->setSelector($this->consumeUntil('{')); $results = $oList->getAllSelectors(); foreach ($results as $selector) { if ($oResult->getSelector() == $selector->getSelector()) { $this->consume('{'); $this->consumeWhiteSpace(); $this->parseRuleSet($selector); return; } } $this->consume('{'); $this->consumeWhiteSpace(); $this->parseRuleSet($oResult); $oList->append($oResult); }
function CSSSelector() { $selector = new CSSSelector(); $ss = $this->CSSSimpleSelector(); if (!$ss) { if ($this->is(SCOL)) { $this->error('Don\'t put semicolon after rule set'); } elseif ($this->is(LCBR)) { $this->error('Missing selector'); } else { $this->error('Unrecognized selector'); } } $selector->add(NULL, $ss); while (($comb = $this->CSSCombinator()) && ($sel = $this->CSSSimpleSelector())) { $selector->add($comb, $sel); } return $selector; }
private function parseSelector() { $oResult = new CSSSelector(); $oResult->setSelector($this->consumeUntil('{')); $this->consume('{'); $this->consumeWhiteSpace(); $this->parseRuleSet($oResult); return $oResult; }