2011-01-04 2 views
0

html 태그를 제거하여 html 블록의 키워드를 강조 표시하는 좋은 방법을 찾고 있습니다. html 태그 내에서 핵심 단어를 검색 할 수는 있지만 정규 태그를 검색하는 좋은 방법은 찾지 못했습니다. 핵심 단어 문구가 "구속되지"경우 예를 들어, 내가 할이검색 및 강조 html - 태그 무시 및 유지 관리

<p>I am not<strong>bound to please thee</strong> with my answers.</p> 

은 "강력한"태그를 파괴 (유효하지 않은 HTML을 만드는)하지 않고, 하이라이트 태그에 싸여되고이 될 수 있도록하려면 :

<p>I am <span class="highlight">not</span><strong><span class="highlight">bound</span> to please thee</strong> with my answers.</p> 

주요 문제는 HTML을 그대로 유지하고 하이라이트 태그로 텍스트 블록을 배치하는 것입니다. 원래 HTML을 유지해야합니다. 그렇지 않으면 태그를 제거합니다.

지금 당장 생각해 볼 수있는 가장 좋은 해결책은 html 복사본을 만들고 각 공백이있는 카운터 토큰을 배치 한 다음 모든 태그를 제거하고 일치하는 구를 검색 한 다음 원본과 토큰 화 된 문자열 및 하이라이트 태그를 작성하는 위치를 파악한 다음 앞으로 진행하여 필요에 따라 강조 표시 기간을 시작 및 종료합니다. 이것은 잔인한 것 같습니다. 가능하면 좀 더 우아하고 싶습니다.

해결책은 C# 또는 아마도 javascript로 작성됩니다.

답변

관련 문제