C#、JS利用正则表达式清理HTML标记一例

有些时候,我们对一些内容,清理掉HTML标记,只保留纯内容或一部分内容,例如下面的一段:

<SPAN class  =  InsertWordsDisplay>这里不要</span>只要这里<SPAN class=\"InsertWordsDisplay\">不要(*)</span>

对上面的这段代码,我们只要蓝色的内容,也就是“凡是被HTML标记包围的内容,都不要了

C# 的实现方式:

string strToBeFiltered = "<SPAN class  =  InsertWordsDisplay>这里不要</span>只要这里<SPAN class=\"InsertWordsDisplay\">不要(*)</span>";
Regex reg = new Regex("<span\\s+class\\s{0,}=\\s{0,}\"{0,1}InsertWordsDisplay\"{0,1}>.+?</span>", RegexOptions.IgnoreCase | RegexOptions.Multiline);
string strFiltered = reg.Replace(strToBeFiltered, "");
<script type="text/javascript"><!-- google_ad_client = "pub-5834986413902221"; /* 728x90 */ google_ad_slot = "1368486102"; google_ad_width = 728; google_ad_height = 90; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

上面的 strFiltered 就是最终的结果了

 

Javascript 的实现方式:

<script type="text/javascript">
    var strToBeFiltered = '<SPAN class  =  InsertWordsDisplay>不要</span>要<SPAN class="InsertWordsDisplay">不要(*)</span>';
    var pattern = /<span\s+class\s{0,}=\s{0,}"{0,1}InsertWordsDisplay"{0,1}\s{0,}>.+?<\/span>/ig;
    var strFiltered = strToBeFiltered.replace(pattern, '');
    alert(strFiltered);
</script>

希望起个抛砖引玉的作用吧

你可能感兴趣的:(html,C++,c,正则表达式,C#)