Выделение слов в доменных узлах - PullRequest
0 голосов
/ 15 марта 2020

У меня немного грязный html из-за распознавания текста, который мне нужно выделить. Слова иногда разделяются между доменными узлами. Мне нужно найти любой вводимый пользователем текст и добавить область выделения, где бы этот текст не появлялся в html.

Пример

<div id="content">
  <span>my birthday par<span>ty is today</span></span>
</div>

Здесь можно найти термин "день рождения". Я пытался регулярное выражение, но не могу захватить нужную группу. (regex noob) new RegExp(`([${searchTerm}]+)!?<[^>]*>`, 'gi'), который производит ["y birthday pa<span>", "day</span>"]

Мне нужно было бы захватить что-то вроде my Birthday par<span>ty или индекс этого, чтобы я мог обернуть его в другой элемент, чтобы выделить.

Идеальный результат будет

<div id='content'>
  <span>my<mark class='highlight'>birthday par<span>ty</mark> is today</span><span>
</div>

Заранее спасибо!

...