У меня возникли трудности с использованием RegExp для поиска текста между тегами HTML. Это функция поиска для поиска текста на HTML-странице без поиска символов в качестве совпадений в тегах или атрибутах HTML. Когда совпадение найдено, я окружаю его с помощью div и назначаю ему класс выделения, чтобы выделить слова поиска на странице HTML. Если RegExp также совпадает с тегами или атрибутами, код HTML становится поврежденным.RegExp для поиска текста внутри HTML-тегов
Вот HTML код:
<html>
<span>assigned</span>
<span>Assigned > to</span>
<span>assigned > to</span>
<div>ticket assigned to</div>
<div id="assigned" class="assignedClass">Ticket being assigned to</div>
</html>
и текущий RegExp Я придумал это:
назначен (\ <?!) ((< = (>)?)? !>)/gi
который соответствует, если назначен, или назначено начало текста в теге, но не на других. Он отлично справляется с игнорированием атрибутов и тегов, но не работает, если текст не начинается с строки поиска.
Может ли кто-нибудь помочь мне здесь? Я работал над этим в течение часа в настоящее время, но может»найти решение (RegExp нуб здесь ..)
UPDATE 2
https://regex101.com/r/ZwXr4Y/1 показать оставшиеся проблемы в отношении HTML сущностей и HTML комментарии.
При поиске проблемы осталось то, что
не игнорируется, весь текст внутри объектов HTML и комментариев следует игнорировать. Поэтому при поиске «b» он не должен совпадать с
, даже если HTML-объект правильно находится между тегами HTML.
Поиск текста между '>' и следующий '<' - что-то вроде этого: '/> (? [\ Ш>] +) G' , [Regex101] (https://regex101.com/r/yI6yZ0/1) – sideroxylon