웹 브라우저의 검색 도구가 전체 웹 페이지 (페이지의 거대한 콘텐츠로 가정)를 구문 분석하고 입력하는 동안 결과를 강조 표시하는 방법을 파악하려고합니다. 지도에로드하는 동안 페이지를 미리 캐시하거나 정규식을 사용하여 빠른 결과를 얻을 수 있습니까?브라우저 검색 도구는 웹 페이지에서 어떻게 작동합니까?
답변
문서가 이미 구문 분석 브라우저 :
예를 들어, 여기에 내가 파이어 폭스를 사용하여 검색을 시작하고 모든 강조 표시이 페이지에있는 문구 'eleme'에게 일어나는 것입니다. 해당 문서를 검색하면 DOM 트리를 탐색하고 검색 할 수있는 노드를 결정하고 문서 노드를 삽입하여 디스플레이를 변경합니다 (예 : 텍스트를 굵게 표시하는 등).
표준 문자열 매칭 알고리즘은 매우 큰 텍스트 청크를 초당 파싱 할 수 있습니다. (생각해 보면, 콜리 전 탐지, 장면 컬링, AI, 사운드, 화려한 효과, 통합 된 3D 멀티 플레이어 게임을 실행할 수 있습니다 음성 채팅, 표준 컴퓨터의 60fps에서 텍스트의 몇 메가 바이트를 검색하는 것은 아무 것도 아닙니다.)
나는 세부 사항을 모르지만 나는 그것이 this과 같은 것이라고 상상할 것이다.
Boyer-Moore 알고리즘은 텍스트 부분 문자열을 검색하는 매우 빠르고 효율적인 방법입니다.
일반 텍스트로 돔을 가로 지르는 것이 필요하다고 생각합니다. 나는 추측하고 있을지 모르지만 나는 그 요소 내용과 자식 요소를 검색 할 일반 텍스트를 포함 할 수있는 요소를 검색하고 dom을 검색 할 것입니다.
firefox에서 검색을 수행하고 firefbug를 통해 보면 firefox이 문서의 DOM을 수정하여 검색 항목이 강조 표시와 같은 스타일이 적용되는 요소 자체의 하위 항목임을 알 수 있습니다.
<span style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;" class="__mozilla-findbar-search">eleme</span>
큰 텍스트로 부분 문자열을 찾는 것은 컴퓨터가하는 것처럼 어렵지 않습니다. 사실, 부분 문자열을 찾는 것보다 HTML 페이지를 렌더링하는 것이 훨씬 어렵다고 생각합니다. 언급했듯이이를위한 빠른 알고리즘이 있습니다.
사용하여 ... 유식
PHP는/기계가이 순간에 거의 완전히 전용 이것이다, 명심하십시오, 그래서이 (오히려 간단한) 작업에 전념 처리 용량이 많이있다 urlencode 파일에 pls serach?= "C-내용"
접두사
샘플 코드 :::: 인 print_r ($ 파일); if (isset ($ file)) { $ var = explode ("-", $ file); print_r ($ var); $ prefix = $ var [0]; $ script = $ var [1]; } else { $ file = "c-home1"; $ prefix = "c"; $ script = "home"; $ modid = 0; }
if ($ script == "") $ script = "prod_list";
---------------------------------------------- --------------------------------------------
// 다음 코드는 sufiix에서 모듈을 찾아 스크립트 이름을 찾으십시오. switch ($ prefix) { case "c": $ module = "content"; 휴식; 대문자 "m": $ module = "myaccount"; 휴식; 기본값 : $ module = "content"; 휴식; }
$ smarty-> assign ("module", $ module);
는 // 다음 코드는 접미사에서 모듈을 찾아
$의 include_script = $ 모듈을 스크립트 이름을 찾아 "/"$ 스크립트.... "PHP를.";
if (file_exists ($ include_script)) include_once ($ include_script); else include_once ("content/error.php"); if ($ script! = 'home') { if ($ script == 'termsandcondition') { $ smarty-> display ("content/termsandcondition.tpl"); } else { $ smarty-> display ("template.tpl"); } } else { $ smarty-> display ("template_home.tpl"); $ smarty-> assign ("msg", $ msg); $ smarty-> assign ("msglogin", $ msglogin); } ?>
- 1. 스키마 마이그레이션 도구는 어떻게 작동합니까?
- 2. SEOMoz Rank Checker와 같은 도구는 어떻게 작동합니까?
- 3. 인 브라우저 채팅은 어떻게 작동합니까?
- 4. 웹 페이지에서 광고 검색
- 5. 미디어 브라우저 플러그인은 어떻게 작동합니까?
- 6. "API 레벨 분석기"도구는 어떻게 작동합니까?
- 7. Unity3D의 웹 배포는 어떻게 작동합니까?
- 8. 웹 서비스는 어떻게 작동합니까?
- 9. FT 검색 페이지에서 검색
- 10. 옥션 웹 사이트는 어떻게 작동합니까?
- 11. 라이센스 웹 사이트 - 어떻게 작동합니까?
- 12. 정적 페이지에서 검색
- 13. 웹 페이지에서 javaScript 코드를 어떻게 추출합니까?
- 14. Google 이미지 검색 마우스 오버는 어떻게 작동합니까?
- 15. Findall의 검색 술어는 일반 목록에서 어떻게 작동합니까?
- 16. Android 마켓 검색 엔진은 어떻게 작동합니까?
- 17. 자동 브라우저 테스트 : 웹 페이지에서 JavaScript를 테스트하는 방법은 무엇입니까?
- 18. pubsub는 OpenSocial에서 어떻게 작동합니까?
- 19. 웹 사이트 검색 알고리즘
- 20. HTML로 Chrome 브라우저 검색
- 21. pjax는 어떻게 작동합니까?
- 22. 검색 결과를 미리 볼 수있는 웹 페이지에서 검색 상자 중 하나를 어떻게 만드나요?
- 23. Viewstate는 내부적으로 어떻게 작동합니까?
- 24. Javascript CANVAS는 어떻게 작동합니까?
- 25. 페이지에서 세션 검색
- 26. CSS는 ASP.NET 웹 컨트롤과 어떻게 작동합니까?
- 27. 웹 사이트 URL - 스택 오버플로는 어떻게 작동합니까?
- 28. 웹 사이트 액세스 제어는 실제로 어떻게 작동합니까?
- 29. NLB는 IIS-7 웹 서비스에서 어떻게 작동합니까?
- 30. 웹 페이지를 이미지화하는 앱은 어떻게 작동합니까?
관련없는 답변. – GTM