Designer regexp
by infous
HTML
<div class="log"></div>
JavaScript
var s = "#marker-start {}\n" +
"#presetItem_TextBlock26 .bd-textblock.bd-textblock-1{\n"+
"word-wrap: break-word;\n" +
"}\n" +
"#marker-end {}\n" +
"#marker-start_Container {}\n\n" +
"@bd-typographystyle-390lineHeightFactor: 1.15;\n\n" +
".bd-textblock.bd-textblock-1,\n" +
"#presetItem_TextBlock26 .bd-textblock.bd-textblock-1 a:visited,\n" +
"#presetItem_TextBlock26 .bd-textblock.bd-textblock-1 a:hover,\n" +
"#presetItem_TextBlock26 .bd-textblock.bd-textblock-1 a:link,\n" +
"#presetItem_TextBlock26 .bd-textblock.bd-textblock-1 a:visited,\n" +
"a#presetItem_TextBlock26 .bd-textblock.bd-textblock-1:link,\n" +
"a#presetItem_TextBlock26 .bd-textblock.bd-textblock-1:visited,\n" +
"#presetItem_TextBlock26 .bd-textblock.bd-textblock-1 a:visited,\n" +
"a#presetItem_TextBlock26 .bd-textblock.bd-textblock-1:visited,\n" +
"#presetItem_TextBlock26 .bd-textblock.bd-textblock-1 a:active,\n" +
"a#presetItem_TextBlock26 .bd-textblock.bd-textblock-1:active{\n\n" +
"line-height:@baseFontSize * @bd-typographystyle-390lineHeightFactor;\n\n" +
"font-family: 'Open Sans';\n" +
"color: @white;";
var uniId = "#aaa";
var style = s.replace(/\s*([^\{\};]+)\{/g, replacer);
function replacer(str, p1) {
var rules = p1.split(",");
for (var i = 0; i < rules.length; i++) {
var selector = $.trim(rules[i]);
log(selector, true);
var idx = selector.indexOf(".");
if (idx !== -1)
rules[i] = stringInsert(selector, idx, uniId + " ");
}
return "\r\n" + rules.join(",\r\n") + "{";
}
log(style);
function log(s, b) {
s = s.replace(/\n/g, "<br>");
$(".log").html($(".log").html() + "<p>" + (b ? "<b>" : "") + s + (b ? "</b>" : "") + "</p>");
}
function stringInsert(str, index, substr) {
if (index > 0)
return str.substring(0, index) + substr + str.substring(index, str.length);
else
return substr + str;
}