Una soluzione alternativa sarebbe salvare ogni blocco di codice prima che il plug-in analizzi il post, quindi ripristinare i blocchi in seguito.
EDIT:
Quindi ho cambiato le cose e sto lavorando su un metodo leggermente più efficiente piuttosto che sulla sostituzione del testo (menzionato nell'OP), che sarà comunque considerato qui.
Ecco cosa sto usando ora:
function parse( node ) {
// backup code blocks
var codes = []; node.find('code').each(function() { codes.push($(this).html()); });
// Do whatever you need to here
// restore the code blocks
var i=0; node.find('code').each(function() { $(this).html(codes[i]); i = i+1; });
};
^ applica direttamente le modifiche all'elemento
Per il vecchio metodo menzionato nell'OP:
function parse( post ) {
var node = $('<div>'+post+'</div>');
// backup the code blocks
var codes = []; node.find('code').each(function() { codes.push($(this).html()); });
post = ''; // <-- Do whatever you need to here
node.html( post ); // update the node
// restore the code blocks
var i=0; node.find('code').each(function() { $(this).html(codes[i]); i = i+1; });
return node.html();
};
Non consiglio questo metodo, è solo una soluzione alternativa finché non sono in grado di ignorare del tutto i blocchi di codice.