У меня немного грязный 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>
Заранее спасибо!