protected function func(&$func) {
$s = $this->seek();

if ($this->match('(%|[\w\-_][\w\-_:\.]+|[\w_])', $m) && $this->literal('(')) {
$fname = $m[1];

$sPreArgs = $this->seek();

$args = array();
while (true) {
$ss = $this->seek();
// this ugly nonsense is for ie filter properties
if ($this->keyword($name) && $this->literal('=') && $this->expressionList($value)) {
$args[] = array("string", "", array($name, "=", $value));
} else {
$this->seek($ss);
if ($this->expressionList($value)) {
$args[] = $value;
}
}

if (!$this->literal(',')) break;
}
$args = array('list', ',', $args);

if ($this->literal(')')) {
$func = array('function', $fname, $args);
return true;
} elseif ($fname == 'url') {
// couldn't parse and in url? treat as string
$this->seek($sPreArgs);
if ($this->openString(")", $string) && $this->literal(")")) {
$func = array('function', $fname, $string);
return true;
}
}
}

$this->seek($s);
return false;
}
protected function func(&$func) {
$s = $this->seek();

if ($this->match('(%|[\w\-_][\w\-_:\.]+|[\w_])', $m) && $this->literal('(')) {
$fname = $m[1];

$sPreArgs = $this->seek();

$args = array();
while (true) {
$ss = $this->seek();
// this ugly nonsense is for ie filter properties
if ($this->keyword($name) && $this->literal('=') && $this->expressionList($value)) {
$args[] = array("string", "", array($name, "=", $value));
} else {
$this->seek($ss);
if ($this->expressionList($value)) {
$args[] = $value;
}
}

if (!$this->literal(',')) break;
}
$args = array('list', ',', $args);

if ($this->literal(')')) {
$func = array('function', $fname, $args);
return true;
} elseif ($fname == 'url') {
// couldn't parse and in url? treat as string
$this->seek($sPreArgs);
if ($this->openString(")", $string) && $this->literal(")")) {
$func = array('function', $fname, $string);
return true;
}
}
}

$this->seek($s);
return false;
}
protected function func ( & $ func ) { $ s = $ this -> seek ( ) ; if ( $ this -> match ( '(%|[\w\-_][\w\-_:\.]+|[\w_])' , $ m ) && $ this -> literal ( '(' ) ) { $ fname = $ m [ 1 ] ; $ sPreArgs = $ this -> seek ( ) ; $ args = array ( ) ; while ( true ) { $ ss = $ this -> seek ( ) ; // this ugly nonsense is for ie filter properties
 if ( $ this -> keyword ( $ name ) && $ this -> literal ( '=' ) && $ this -> expressionList ( $ value ) ) { $ args [ ] = array ( "string" , "" , array ( $ name , "=" , $ value ) ) ; } else { $ this -> seek ( $ ss ) ; if ( $ this -> expressionList ( $ value ) ) { $ args [ ] = $ value ; } } if ( ! $ this -> literal ( ',' ) ) break ; } $ args = array ( 'list' , ',' , $ args ) ; if ( $ this -> literal ( ')' ) ) { $ func = array ( 'function' , $ fname , $ args ) ; return true ; } elseif ( $ fname == 'url' ) { // couldn't parse and in url? treat as string
 $ this -> seek ( $ sPreArgs ) ; if ( $ this -> openString ( ")" , $ string ) && $ this -> literal ( ")" ) ) { $ func = array ( 'function' , $ fname , $ string ) ; return true ; } } } $ this -> seek ( $ s ) ; return false ; }
a css function
a css function