Thanks for the reply.
Although this would work what I'm doing would not always give me control of the "original" content.
I'm working on a CMS and have found severe issues with Tinymce's code clean-up when dealing with a php driven site. eg: external headers.
With what I had captured already I did find a solution.
It might be a bit cumbersome, but it appears to have gotten me to the next point of frustration
var re = new RegExp('<'+tag+'[^><]*>|<.'+tag+'[^><]*>','g');
// get tag contents and position for replacement
var tag1 = str.match(re);// array, opening tag, closing tag
var tag2 = str.search(re);// start of opening tag
var tag3 = str.search(tag1); //start of closing tag
var tag4 = tag3 - tag2 - tag1.length;// length of content between tags
// tag positions and content stored, safe to remove tags