示例#1
0
 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;
 }
示例#2
0
 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);
 }
示例#3
0
 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;
 }