var html = "<div><hr>foo<div>bar</div></div>"; var c = -1; html = html.replace(/\<([^<\>]*)\>/g, function(str, r) { if(r.indexOf("/") === -1) { c++; return "[\"" + r + ((c == 0) ? "\"," : "\"],"); } else { return "]"; } }); html