Поиск и выделение HTML - игнорирование и ведение тегов - PullRequest
0 голосов
/ 04 января 2011

Я ищу хороший способ выделить ключевые слова в блоке html, убрав теги html. Я могу регулярное выражение для поиска ключевых слов в HTML-тегах, но я не нашел отличный способ поиска по тегам. Например, если ключевое слово «не связано», я хочу иметь возможность сделать это

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

обертываются в теги подсветки, не нарушая тег "strong" (и делая 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, в зависимости.

1 Ответ

0 голосов
/ 05 сентября 2011

Когда мне нужно изменить повторяющийся экземпляр в моей разметке, но хочу сэкономить время, я использую функцию «Найти и заменить» в Notepad ++. Вот аналогичный вопрос, который может быть полезным Использование регулярных выражений для массовой замены в Notepad ++ и Vim .

Надеюсь, это поможет.

...