//var times = 0; function hex( n ) { return ( n<16 ? '0' : '' ) + n.toString(16); } function highlight( s, o ) { if( !s ) { return 0; } var d=document; s = s.replace( /([\\|^$()[\]{}.*+?])/g, '\\$1' ); s = s.split( /\s+/ ).join( '|' ); o = [ o || d.documentElement || d.body ]; var r = new RegExp(s,'gi'), h = d.createElement('span'), i = 0, j, k, l, m, n=0, t; //h.style.color = '#000'; //h.style.backgroundColor = '#'+( times%2 ? ''+hex((times%5)*51)+'ff' : 'ff'+hex(((times+1)%5)*51)+'' )+'00'; h.style.backgroundColor ='#ffff00'; //times++; do { m = o[i]; if( m.nodeType===3 ) { r.lastIndex = 0; l = r.exec(m.nodeValue); if( l !== null ) { k = l[0].length; if( r.lastIndex > k ) { m.splitText( r.lastIndex - k ); m = m.nextSibling; } if( m.nodeValue.length > k ) { m.splitText(k); o[i++] = m.nextSibling; } t = h.cloneNode( true ); t.appendChild( d.createTextNode( l[0] ) );n++; m.parentNode.replaceChild( t, m ); } } else { j = m.childNodes.length; while (j) { o[i++] = m.childNodes.item(--j); } } } while(i--); return n; }