Здравствуйте. Есть проект на .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-страницу локально.
всю страницу целиком можете просто кешировать........ а отличий в регулярках шарпа и яваскрипта - так это вы должны определиться, к чему их применять и на каком этапе, от этого и решения будут разные.
Внимательно читайте вопрос. Awesomium создает кеш веб-страницы, но я не имею к нему доступа. Все, что я могу от него получить - исходный код страницы. Здесь нечего определятся. Нужно показывать результат срабатывания регулярного выражения .net на веб-страницe. Первая мысль, которая приходит, это использовать js. Но опять же, из-за несовместимости это сделать довольно сложно. Если вас интересует ответ, то вот: ru.stackoverflow.com/questions/415550/%D0%9A%D0%B0...
egor_spk: если нужно рег именно дот нета, так задайте переменные в вьюхах, и Аяксом ходите на сервер и получайте отработаное шаблонизатором.....и как вариант показывать в отдельном окне, а пользователь сам уже выберет как его сохранить, благо браузеры предоставляют эту возможность.