본문중에 특정 단어를 걸러내서 괄호를 치는 스크립트를 만들어 봤습니다.
예문
동해물가 백두산이 마르고 닳도록 하느님이 보우하사 우리 나라 만세
<script type="text/javascript">
function addLoadEvent(func) {
var oldonLoad = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
}else {
window.onload = function(){
oldonLoad();
func();
}
}
}
addLoadEvent(wordHighlighting);
function wordHighlighting () {
var Hwords = new Array("동해물","백두","하느님");
var body_el = document.getElementsByTagName("body")[0];
var all_el = body_el.getElementsByTagName("*");
var txtParents = new Array();
var cnt = 0;
for (var i=0; i<all_el.length; i++){
if (all_el[i].nodeName == "LI" || all_el[i].nodeName == "TD" || all_el[i].nodeName == "P"
|| all_el[i].nodeName == "SPAN" || all_el[i].nodeName == "STRONG" || all_el[i].nodeName == "INS"
|| all_el[i].nodeName == "EM"){
if (all_el[i].childNodes[0].nodeValue){
txtParents[cnt] = all_el[i];
cnt++;
}
}
}
for (var i=0; i<Hwords.length; i++){
for (var j=0; j<txtParents.length; j++){
var txt = txtParents[j].childNodes[0].nodeValue;
if (txt == Hwords[i]){
txtParents[j].className = "highlight";
}
if (txt.length > Hwords[i].length){
for (var t=0;t<txt.length-Hwords[i].length;t++){
var tmp = txt.substring(t,t+Hwords[i].length);
if (tmp == Hwords[i]){
var before = txt.substring(0,t);
var after = txt.substring(t+Hwords[i].length,txt.length);
var texts = document.createTextNode(before + "[" + tmp + "]" + after);
txtParents[j].removeChild(txtParents[j].childNodes[0]);
txtParents[j].appendChild(texts);
}
}
}
}
}
}
</script><noscript>텍스트 하이라이팅</noscript>