Я пишу некоторый код C # для разбора RSS-каналов и выделения целых слов в контенте, однако мне нужно выделять только те слова, которые находятся вне HTML. Пока что у меня есть:
string contentToReplace = "This is <a href=\"test.aspx\" alt=\"This is test content\">test</a> content";
string pattern = "\b(this|the|test|content)\b";
string output = Regex.Replace(contentToReplace, pattern, "<span style=\"background:yellow;\">$1</span>", RegexOptions.Singleline | RegexOptions.IgnoreCase);
Это отлично работает, за исключением того, что в теге alt будет выделено слово «тест». Я могу легко написать функцию, которая удаляет HTML, а затем выполняет замену, но мне нужно сохранить HTML для отображения содержимого.