code: function conditional_replace(html, $) {
    return html.replace(/<!--\[if ([^\]]*)\]>((?:(?!--)[\s\S])*?)<!\[endif\]-->/g, function (match, condition, body) {
      var dd = '<!-- cc:start -->';
      dd += body.replace(/<([A-Za-z:]+)/g, '<!-- cc:bo:$1 --><cc-$1') // before open tag
        .replace(/<\/([A-Za-z:]+)>/g, '<!-- cc:bc:$1 --></cc-$1><!-- cc:ac:$1 -->') // before/after close tag
        .replace(/\/>/g, '/><!-- cc:sc -->'); // self-close tag
      dd += '<!-- cc:end -->';
      var output = '<replacedcc condition="' + condition + '" style="display: none">';
      output += $('<div>').append($(dd)).html()
        .replace(/^<!-- cc:start -->/, '')
        .replace(/<!-- cc:end -->$/, '');
      output += '</replacedcc>';
      return output;
    });
  }
docs: /* funzioni prese da mosaico ma modificate per usare cc:tagoriginale al posto di cc (in modo da poterli stilare)