티스토리 툴바


본문중에 특정 단어를 걸러내서 괄호를 치는 스크립트를 만들어 봤습니다.

예문

동해물가 백두산이 마르고 닳도록 하느님이 보우하사 우리 나라 만세

<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>

<PREV 1 ... 34 35 36 37 38 39 40 41 42 ... 663 NEXT>