io per ora mi sono creato questo ma non è testatissimo
codice:<script> function replaceByModel(txt,model,tag){ nuovo=""; for(i=0;i<tag.length;i++){ tag_ini_pos_txt=-1; tag_ini_pos_mod=-1; tag_fin_pos_txt=0; tag_fin_pos_mod=0; while(txt.indexOf(tag[i].inizio,tag_ini_pos_txt+1)!=-1){ tag_ini_pos_txt=txt.indexOf(tag[i].inizio,tag_ini_pos_txt+1); tag_ini_pos_mod=model.indexOf(tag[i].inizio,tag_ini_pos_mod+1); tag_fin_pos_txt=txt.indexOf(tag[i].fine,tag_fin_pos_txt)+tag[i].fine.length; nuovo+=model.substr(tag_fin_pos_mod,tag_ini_pos_mod-tag_fin_pos_mod); nuovo+=txt.substr(tag_ini_pos_txt,tag_fin_pos_txt-tag_ini_pos_txt); tag_fin_pos_mod=model.indexOf(tag[i].fine,tag_fin_pos_mod)+tag[i].fine.length; } } return nuovo; } var testo = "prova [tag]x[/tag] prova di testo [tag]y[/tag]"; var modello = "prova1 [tag][/tag] prova di articolo [tag][/tag]"; alert(replaceByModel(testo,modello,[{inizio:"[tag]",fine:"[/tag]"}])); </script>

Rispondi quotando