protected static function findAttrParts($str)
{
$mch = array();
if (preg_match("/^([a-z_][a-z0-9\\-_]*:[a-z][a-z0-9\\-_]*)\\s*=\\s*/i", $str, $mch)) {
return array('name' => $mch[1], 'expr' => trim(substr($str, strlen($mch[0]))));
} elseif (preg_match("/^([a-z_][a-z0-9\\-_]*)\\s*=\\s*/i", $str, $mch)) {
return array('name' => $mch[1], 'expr' => trim(substr($str, strlen($mch[0]))));
} else {
throw new Exception(__CLASS__ . "::findAttrParts error in '{$str}'");
}
}