Sto cercando di capire come fare una sostituzione con Javascript. Sto esaminando l'intero corpo della pagina e vorrei sostituire le corrispondenze delle parole chiave NON all'interno di un tag HTML.In JavaScript, come posso sostituire il testo in una pagina HTML senza influenzare i tag?
Ecco un esempio:
<body>
<span id="keyword">blah</span>
<div>
blah blah keyword blah<br />
whatever keyword whatever
</div>
</body>
<script type="text/javascript">
var replace_terms = {
'keyword':{'url':'http://en.wikipedia.org/','target':'_blank'}
}
jQuery.each(replace_terms, function(i, val) {
var re = new RegExp(i, "gi");
$('body').html(
$('body').html().replace(re, '<a href="'+ val['url'] +'" target="'+val['target']+'">' + i + '</a>')
);
});
</script>
Sto cercando di sostituire tutte le istanze della "parola chiave" che non è all'interno di un tag HTML (tra <
e >
).
Suppongo di dover anche ignorare se "parola chiave" si trova all'interno di un elemento script
o style
.
non è l'intera pagina, per definizione, all'interno di un tag HTML? –
Sì. L'HTML che avevo nel mio esempio non è venuto attraverso. Fondamentalmente intendo che non voglio sostituire alcun attributo di un tag. – Phil
Sto pensando che intenda tra parentesi (come un attributo nome/valore). – Mayo