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); }