SassList::_parse_list PHP Method

_parse_list() public static method

public static _parse_list ( $list, $separator = 'auto', $lex = true, $context = null )
    public static function _parse_list($list, $separator = 'auto', $lex = true, $context = null)
    {
        if ($lex) {
            $context = new SassContext($context);
            $list = SassScriptParser::$instance->evaluate($list, $context);
            $list = $list->toString();
        }
        if ($separator == 'auto') {
            $separator = ',';
            $list = $list = self::_build_list($list, ',');
            if (count($list) < 2) {
                $separator = ' ';
                $list = self::_build_list($list, ' ');
            }
        } else {
            $list = self::_build_list($list, $separator);
        }
        if ($lex) {
            $context = new SassContext($context);
            foreach ($list as $k => $v) {
                $list[$k] = SassScriptParser::$instance->evaluate($v, $context);
            }
        }
        return array($list, $separator);
    }

Usage Example

 /**
  * Parse this node.
  * @param SassContext the context in which this node is parsed
  * @return array parsed child nodes
  */
 public function parse($context)
 {
     $children = array();
     if ($this->variable && $this->in) {
         $context = new SassContext($context);
         list($in, $sep) = SassList::_parse_list($this->in, 'auto', true, $context);
         foreach ($in as $var) {
             $context->setVariable($this->variable, $var);
             $children = array_merge($children, $this->parseChildren($context));
         }
     }
     $context->merge();
     return $children;
 }