C# 如何在HTML文本中搜索特定文本并用颜色突出显示搜索字符串

C# 如何在HTML文本中搜索特定文本并用颜色突出显示搜索字符串,c#,html,css,regex,search,C#,Html,Css,Regex,Search,我们需要搜索HTML文本并突出显示具有特定颜色的文本 例如:html字符串是 <p class="Pa0" style="margin: 0in 0in 0pt;"><span class="A1"><span style="font-size: 10pt;">Giving this flyer to your class customers</span></span></p> 而不更改原始HTML?不可能。对于某些Jav

我们需要搜索HTML文本并突出显示具有特定颜色的文本

例如:html字符串是

<p class="Pa0" style="margin: 0in 0in 0pt;"><span class="A1"><span style="font-size: 10pt;">Giving this flyer to your class customers</span></span></p>

在上面的文本中,我正在搜索“类”这个词。 它应该突出文本“将此传单交给您的班级客户”中的文本类别 但是,鉴于它试图突出显示css元素“class”,因此原始html文本已损坏,无法正确显示


有谁能帮助我解决这个问题,即如何在不更改原始HTML的情况下搜索HTML文本中的内容并突出显示搜索。

使用javascript可以:

var str = document.getElementByClassName("Pa0")[0].children[0].children[0];
str.innerHTML = str.innerHTML.replace(' class ', ' <span style="color:red">class</span> ')
var str=document.getElementByClassName(“Pa0”)[0]。子项[0]。子项[0];
str.innerHTML=str.innerHTML.replace('class','class'))

(class)(?=(?:[^>而不更改原始HTML?不可能。对于某些JavaScript,这难道不可能吗?按id/class获取元素并更改内部HTML最终结果应该类似于

将此传单交给您的班级客户

@详细模式这可能是一个动态HTML。因此,我可能无法搜索id来检查您目前正在做的事情。感谢您的帮助。但我想我应该详细说明一下问题。用户可以输入任何类型的HTML文本。我给出的任何内容都只是为了考试ple和真实情况就像有一个html文本,其中没有突出显示html元素,如“类”或“样式”我需要突出显示其中的原始内容。@NaveenMaverick,但您在注释中提供了示例。这不是您想要的吗?是的,但正如我所说的,示例中没有html类型相同的规则。它可以包含任何标记或类。我要寻找的是一种通用解决方案,可以在任何html文本和highli中搜索某些字符串在html字符串中用某种颜色标记字符串。@Nav但这是一般解决方案!太好了!!!这就是我要找的。让我试试。希望我能用这个实现所需的功能。我很乐意将其标记为已回答,因为这与要求非常接近。不过,我发现使用repl时有一件事很奇怪ace函数。在URL中,我尝试了如下正则表达式是Class(?=(?:[^>我们如何保留它???如果我们不保留,那么在执行搜索后原始字符串将被更改,这就像QA的错误:(你真是棒极了!!!!很抱歉,我无法对此投票。但我已将此标记为已回答…谢谢
(class)(?=(?:[^><]*<[^<>]*>)*[^><]*$)