@egor_spk

Как применить регулярне выражение к web-странице?

Здравствуйте. Есть проект на .net, который написан на с#.
В контроле awesomium отображается web-страница . Нужно показать пользователю, как выглядит его регулярное выражение на странице. Например, подсветить все ссылки вида: <a href="(?<link>.*?)">(?<title>.*?)</a>.Под "подсветить" понимается просто добавление какого-нибудь стиля <div style="background-color: red"/>Мне на ум приходит два решения:
1) Выполнить JS скрипт.
2) Сохранить локальную копию веб-страницы и с ней уже работать.

Отсюда проблемы:
1) Регулярные выражения пишутся на применимом к .net синтаксисе. Как оказалось, в js есть некоторые отличия, а также есть элементы, которые вообще отсутствуют (проименованные группы). Даже если попробовать заменить несовместимые элементы, то через regexp сложные регулярные выражения так выполнить и не удалось.
2) Здесь все просто: полная совместимость, находит все совпадения и помечает. Но вот сохраненная страница (если содержимое генерируется автоматичеси) отличается от оригинала, т.е. могут отсутствовать изображения или вообще все стили css. Думал сначала сохранять страницу в какой-нибудь mht архив, но вот chromium (лежит в основе awesomium) отказывается их потом отображать.
Как бы мне решить такую проблему? Может вам известны проекты, которые смогут правильно скачать всю web-страницу локально.
  • Вопрос задан
  • 303 просмотра
Пригласить эксперта
Ответы на вопрос 1
struggleendlessly
@struggleendlessly
.net Senior developer
всю страницу целиком можете просто кешировать........ а отличий в регулярках шарпа и яваскрипта - так это вы должны определиться, к чему их применять и на каком этапе, от этого и решения будут разные.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы