Сложность поиска innerHtml для текста в объекте VB WebBrowser

0

Visual Studio 2010, Visual Basic.NET

У меня есть форма, которая загружает html файл в элемент управления WebBrowser. Затем пользователь может выполнить поиск слова или фразы внутри этого html-документа. Мне нужно отменить innerHtml, потому что мне нужно иметь возможность добавлять тег span к тому, что пользователь искал. Очень простой материал. Проблема, с которой я сталкиваюсь, заключается в том, когда пользователь ищет что-то, у которого есть дополнительное пространство.

Теперь моя проблема в том, что пользователь ищет "a. Тестирование", он ничего не находит. Фактический html файл имеет два пробела между a. и тестирование вместо одного. Элемент управления браузера достаточно умен, чтобы удалить лишнее пространство, когда он отображает html для пользователя.

Я надеюсь в этом есть смысл. Вот мой поисковый код.

searchString = txtSearch.Text
textToSearch = wbSearch.Document.Body.InnerHtml

textToSearch = textToSearch.Replace(searchString, "<span style=""background-color:yellow"">" & searchString & "</span>")

wbSearch.Document.Body.InnerHtml = textToSearch

Существует и другая часть текста, которая терпит неудачу, если пользователь ее ищет.

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

Кажется достаточно простым, но в самом html файле есть "тестирование для сервисов </a>". поэтому поиск не может найти его, потому что пользовательская строка отличается от того, что находится в html.

Теги:
visual-studio-2010

1 ответ

0
Лучший ответ

Это звучит как хороший кандидат на регулярные выражения. У меня возникло ощущение, что у вас может возникнуть проблема, если ваш HTML-код содержит неразрывный searching&nbsp;for&nbsp;services пространства searching&nbsp;for&nbsp;services Вы можете сделать замену &nbsp; с пробелом перед выполнением вашего RegEx.

Как игнорировать пробелы в строке строки регулярного выражения?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню