function parse_css_properties_value($string, &$value)
{
    $string1_regexp = CSS_STRING1_REGEXP;
    $string2_regexp = CSS_STRING2_REGEXP;
    $value = '';
    do {
        $matched = false;
        list($new_value, $string) = CSS::parse_string($string);
        if (!is_null($new_value)) {
            $value .= $new_value;
            $matched = true;
        }
        if (preg_match('/^(' . CSS_FUNCTION_REGEXP . CSS_IDENT_REGEXP . '\\))\\s*(.*)$/si', $string, $matches)) {
            $value .= $matches[1];
            $string = $matches[2];
            $matched = true;
        }
    } while ($matched);
    $value_regexp = '[^;]*?';
    if (preg_match(sprintf('/^(%s)(\\s*;.*)/si', $value_regexp), $string, $matches)) {
        $value .= trim($matches[1]);
        $rest = $matches[2];
        return $rest;
    }
    $value = $value . trim($string);
    return '';
}
 function parse($string)
 {
     list($value, $rest) = CSS::parse_string($string);
     if (!is_null($value)) {
         $item =& new ValueContentItemString();
         $item->set_value(substr($value, 1, strlen($value) - 2));
         return array('item' => &$item, 'rest' => $rest);
     }
     $null = null;
     return array('item' => &$null, 'rest' => $string);
 }