<div class="codetitle"> <span><a style="CURSOR: pointer" data="88215" class="copybut" id="copybut88215" onclick="doCopy('code88215')"><u>코드 복사</u></a></span> 코드는 다음과 같습니다.</div> <div class="codebody" id="code88215"> <br><script 언어="JavaScript"> >function findAll (s){ <br>if(s.length==0){ <br>alert("쿼리 키워드를 입력하세요") <br>} <br><br>s=encode(s) ; <br>var TDs=document.all.DataT1.all.tags("TD"); <br>var num=0 <br>for(var i=0;i<TDs.length;i ) 🎜>var tdObj=TDs[i]; <BR>var obj=tdObj.childNodes[0]; <BR>if(!obj.className || obj.className!="highlight"){ <BR>var t= obj.innerHTML .replace(/<spans class=.?highlight.?>([^<>]*)</span>/gi,"$1") <br>obj.innerHTML=t ; <br>var cnt=loopSearch(s,obj); <br>t=obj.innerHTML; <br>var r=/{searchHL}(({(?!/searchHL})|[^{])* ){/ searchHL}/g; <br>t=t.replace(r,"<span class='highlight'>$1</span>") <br>obj.innerHTML=t; >num= num cnt; <br>} <br>} <br>alert("Find 키워드 "num "at") <br><br>} <br>함수 인코딩{ <br> s .replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/([\.*[ ] ()$^])/g,"\$1"); <br>} <br>함수 디코드{ <br>return s.replace(/\([\.*[]()$^ ] )/g,"$1").replace(/>/g,">").replace(/</g,"<").replace(/&/g,"&"); <BR>} <BR><BR>함수 loopSearch(s,obj){ <BR>var cnt=0 <br>if(obj.nodeType==3){ <br>cnt=replace(s,obj) ; <BR>return cnt; <BR>} <BR>for(var i=0,c;c=obj.childNodes[i];i ){ <BR>if(!c.className || c.className! = "강조 표시") <BR>cnt =loopSearch(s,c) <BR><BR>} <BR>return cnt; <br>} <br><BR>function replacement(s,dest){ <BR> var r=new RegExp(s,"gi"); <br>var tm=null; <br>var t=dest.nodeValue; <BR>var cnt=0; ; <BR>var a=""; <BR>var b=""; <BR>if(tm=t.match(r)){ <BR>cnt=tm.length; toString () <BR>arr=a.split(","); <BR>for(var i=0;i<arr.length;i ) <BR>b="{searchHL}" arr[i] " {/searchHL}"; <BR>dest.nodeValue=t; <BR>} <BR>return <BR>} <BR><BR> < ;/script> <br><style type="text/css"> <br>.highlight{Background:blue;font-weigh:bold;color:black;} <br></style> 🎜 ><br> <br>위 방법에서 주의할 점은 두 가지입니다. 1. findAll에서 가장 작은 단위의 obj를 가져옵니다. 그렇지 않으면 교체로 인해 혼란이 발생할 것입니다. 실제로 이는 주로 데이터와 관련이 있습니다. 2. 교체 메소드는 tm을 배열로 분할하는데, 이는 테이블과도 관련이 있습니다. <br><br>일반 텍스트인 경우에는 분할할 필요가 없습니다. <br> <br><br> </div> <br><br>코드 복사<br><br><br> 코드는 다음과 같습니다.<div class="codetitle"> <span> <a style="CURSOR: pointer" data="79929" class="copybut" id="copybut79929" onclick="doCopy('code79929')"> <script 언어="JavaScript"> <u>function findAll(s){ </u>if (s.length==0){ </a>alert('검색 키워드가 입력되지 않았습니다! '); </span>return false; </div>s=encode(s) <div class="codebody" id="code79929">var obj=document.getElementsByTagName("body")[0]; .replace(/<spans class=.?highlight.?>([^<>]*)</span>/gi,"$1") <br>obj.innerHTML=t; >var cnt=loopSearch(s,obj); <br>t=obj.innerHTML <br>var r=/{searchHL}(({(?!/searchHL})|[^{])*){/searchHL }/g <br>t=t.replace(r,"<span class='highlight'>$1</span>") <br>obj.innerHTML=t <br>alert("검색 키워드 " cnt ") <br>} <br>function replacement(s,dest){ <br>var r=new RegExp(s,"g") <br>var tm=null <br>var; t=dest.nodeValue; <br>var cnt=0; <br>if (tm=t.match(r)){ <br>cnt=tm.length; <br>t=t.replace(r ," {searchHL}" 디코드 "{/searchHL}") <br>dest.nodeValue=t; <br>} <br>return cnt; <br>} <br><br></script> ; <BR><BR> <BR><BR><BR>html 부분<BR><BR><BR><br><br>코드 복사<BR></div><br> 코드는 다음과 같습니다. <br><div class="codebody" id="code57903"> <BR><XML ID="DataBinding1" SRC="datasource.xml"></XML> <br><본문> <br><input name="s" id="s" title="搜索内容:"/><input type="submit" value="搜索" onClick="findAll(s.value);return 거짓;"/> <br><table width="100%" valign="top" DATASRC="#DataBinding1" id="DataT1" BORDER="1" CELLPADDING="3"> <br><머리> <br><tr> <br>ID <br>번째>이름 <br>번째 설명 <br></tr> <br></머리> <br><tbody> <br><tr> <br><td><span name="ID" id="ID" datafld="CODE_ID"> <br><td><span name="name" id="name" datafld="CODE_NAME"> <br><td><span name="desc" id="desc" datafld="CODE_DESC"> <br></tr> <br></tbody> <br></테이블> <br></body> <br> </div> <br><div class="codetitle"> <span><a style="CURSOR: pointer" data="97423" class="copybut" id="copybut97423" onclick="doCopy('code97423')"><u>复代码</u></a></span> 代码如下:</div> <div class="codebody" id="code97423"> <br><br><? xml 버전="1.0" 인코딩="UTF-8"?> <br><인벤토리> <br><ROW> <br><code_id>PCOMM11</code_id> <br><CODE_NAME>문자 핸들</CODE_NAME> <br><CODE_DESC>hkdlhglfghfkgfk</CODE_DESC> <br></ROW> <br><ROW> <br><code_id>PCOMM12</code_id> <br><CODE_NAME>디지털 핸들</CODE_NAME> <br><CODE_DESC>hkdlhglfghfkgfkgggg</CODE_DESC> <br></ROW> <br></인벤토리> <br> </div>