搜索并突出显示html - 忽略和维护标签

时间:2011-01-04 04:43:10

标签: html regex search xhtml highlight

我正在寻找一种通过剥离html标签突出显示html块中的关键词的好方法。我可以正则表达式来搜索html标签中的关键词,但我还没有找到一种搜索标签的好方法。例如,如果关键词短语“未绑定”,我希望能够制作此

<p>I am not<strong>bound to please thee</strong> with my answers.</p>

包含在高亮标记中,不会破坏“强”标记(并使html无效)并变为:

<p>I am <span class="highlight">not</span><strong><span class="highlight">bound</span>  to please thee</strong> with my answers.</p>  

主要问题是维护html原样并用高亮标记包装文本块。我需要保持原来的HTML。否则我会剥离标签。

我现在能够想到的最佳解决方案是制作html的副本并在每个空格出现时放置计数器标记,然后剥离所有标签并搜索匹配的短语,然后回顾原始和标记化的字符串并确定从哪里开始构建高亮标记,然后开始向前走,从匹配开始到结束,根据需要开始和结束高亮跨度。这看起来有点矫枉过正。如果可能的话,我想要更优雅的东西。

解决方案将使用C#或javascript编写,具体取决于。

1 个答案:

答案 0 :(得分:0)

当我需要在标记中更改重复实例但想节省时间时,我在Notepad ++中使用“查找和替换”功能。这是一个类似的问题,可能会有所帮助 Using regular expressions to do mass replace in Notepad++ and Vim

希望这有帮助。