извините за даблпост.
спарсить фильтры из строки, то есть получить значения фильтров из свойства style, можно таким образом:
var filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=50) "+
"progid:DXImageTransform.Microsoft.Blur(pixelradius=2) "+
"progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, sizingMethod='auto expand')";
var filterReg = /([\w.]+)\(([^)]+)/g, matched;
var filters = {}, parsed, curr, i, splitted;
while(matched = filterReg.exec(filter) ){
curr = filters[matched[1]] = {};
parsed = matched[2].split(/,\s?/);
for(i = 0; i in parsed; i += 1){
splitted = parsed[i].split("=");
curr[ splitted[0] ] = splitted[1];
}
}
console.dir(filters);
как-то так. мне важно было только спарсить матрицу, поэтому код для моей цели должен быть таким, ещё проще:
var filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=50) "+
"progid:DXImageTransform.Microsoft.Blur(pixelradius=2) "+
"progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, sizingMethod='auto expand')";
alert( filter.match(/M\d{2}=[\d.]+/g).join("\n") );