Estoy tratando de averiguar cómo hacer un reemplazo con Javascript. Estoy mirando todo el cuerpo de la página y me gustaría reemplazar la palabra clave coincide NO dentro de una etiqueta HTML.En JavaScript, ¿cómo puedo reemplazar texto en una página HTML sin afectar las etiquetas?
Aquí se muestra un ejemplo:
<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>
estoy buscando para reemplazar todas las instancias de la "palabra clave" que no está dentro de una etiqueta HTML (entre <
y >
).
Supongo que también necesito ignorar si "palabra clave" está dentro de un elemento script
o style
.
¿No es toda la página, por definición, dentro de una etiqueta HTML? –
Sí. El HTML que tenía en mi ejemplo no apareció. Básicamente quiero decir que no quiero reemplazar ningún atributo de una etiqueta. – Phil
Creo que quiere decir dentro de los corchetes (como un nombre/valor de atributo). – Mayo