Lieber Hilker,
Anscheinend darf man hier nicht besonders gierig vorgehen. Folgendes Beispiel in Javascript erfüllt seinen Zweck:
var text = 'Lorem "ipsum dolor" sit <span class="merksatz"> amet, "consectetuer adipiscing elit"</span>, <span class="normal" id="test">sed diam nonummy</span> nibh euismod tincidunt...';
text = text.replace(/((?:(?!<)[^"])*)"(<[^>]+>)?/m, "$1"$2");
alert(text);
Liebe Grüße aus Ellwangen,
Felix Riesterer.