Próbuję dowiedzieć się, jak zastąpić JavaScript. Patrzę na całą treść strony i chcę zastąpić dopasowania słów kluczowych NIE w tagu HTML.W JavaScript, w jaki sposób mogę zamienić tekst na stronie HTML bez wpływu na znaczniki?
Oto przykład:
<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>
szukam zastąpić wszystkie wystąpienia „słowo kluczowe”, które nie jest w tagu HTML (między <
i >
).
Sądzę, że muszę również zignorować, jeśli "słowo kluczowe" jest w obrębie elementu script
lub style
.
Czy nie cała strona z definicji wewnątrz znacznika HTML? –
Tak. HTML, który miałem w moim przykładzie, nie dotarł. Zasadniczo mam na myśli, że nie chcę zastępować żadnych atrybutów tagu. – Phil
Myślę, że ma na myśli w nawiasie (jak nazwa/wartość atrybutu). – Mayo