golang 正则替换html标签

func main() {
    str := ` 
            	<p>  还只是在凌晨4点,家住徐汇的王女士在手指关节的阵阵僵痛中醒来,这种每每在凌晨出现的疼痛已经折磨她将近半年了。之前她一直认为是普通的关节痛,直到最近才在正规医院被诊断为<a href="http://jbk.39.net/lfsxgjy/" target="_blank" keycmd="bindJbkUi">类风湿</a><a href="http://jbk.39.net/fsxgjy/" target="_blank" keycmd="bindJbkUi">关节炎</a>。在我国,出现同样状况把<a href="http://jbk.39.net/lfsxgjy/" target="_blank" keycmd="bindJbkUi">类风湿性关节炎</a>错当成普通关节痛的却绝非王女士一人。</p> <p> <strong> 关节疼痛要当心,以免延误病情</strong></p><p>  据统计,目前我国大陆地区<a href="http://zzk.39.net/zz/quanshen/a748c.html" target="_blank" keycmd="null">类风湿关节炎</a>患病率为0.2%~0.36%,患者高达500-1000万名。中国中医科学院科技合作中心中经堂专家表示,现在八成以上的类风湿性关节炎的患者通过吃药和调理可以达到病情完全缓解,或控制病情的效果,但遗憾的是,“很多人一出现关节痛,首先想到的是去看骨科,或者自己买些止痛药吃,极少人会将此类现象与风湿性疾病联系在一起。最终耽误了病情,导致关节变形,甚至残废。”</p><div class="hzh_botleft">
<!-- AFP Control Code/Caption.左下竖幅-->
<iframe src="http://dpvc.39.net/adpolestar/door/;ap=92F36EE0_6C54_52FE_F005_98D0725DDB5B;ct=if;pu=san9;/?" name="adFrame_92F36EE0_6C54_52FE_F005_98D0725DDB5B" width="200" height="300" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no">
<SCRIPT LANGUAGE="JavaScript1.1">
var browVersion = parseInt(navigator.appVersion);
if (navigator.appName==\"Netscape\" && browVersion<=4) document.write("<SCR"+"IPT LANGUAGE=\"Javascript1.1\" SRC=\"http://dpvc.39.net/adpolestar/door/;ap=92F36EE0_6C54_52FE_F005_98D0725DDB5B;ct=js;pu=san9;/?\"><\/SCR"+"IPT>");
</SCRIPT>
</iframe>
<!-- AFP Control Code End/No.200-->
</div><p>  <strong>类风湿性关节炎有多可怕?</strong></p><p>  研究显示,75%的类风湿关节炎患者在发病两年内即可出现骨破坏,高达80%的患者在患病20年后出现残疾;有工作能力的患者中,有1/3 RA患者在发病之后两年内丧失劳动能力。</p><p>  专家强调,多数类风湿性关节炎的关节侵蚀发生在起病1~2年内。因此,如不在早期采取措施,会导致关节畸形、功能受损,出现不可逆的损害,并加大疾病治疗的难度。类风湿性关节炎的软骨或骨质破坏最早可以在发病的3个月内就出现,国际公认的治疗窗口期(即治疗的最佳时间)是起病3个月内。</p>
<script language="javascript">
if (!window.jQuery)
  document.write("<script language='javascript' src='http://image.39.net/hits/jquery-1.4.2.min.js'><\/script>");
</script>
<script language="javascript" src="http://image.39.net/js/linkTip.js"></script>
<script language="javascript">
   jQuery('a[keycmd]').art_ContentEvent({keycmd:'keycmd'});
</script>`

	str = strings.TrimSpace(str) //去空格
	//将HTML标签全转换成小写
	re, _ := regexp.Compile("\\<[\\S\\s]+?\\>")
	str = re.ReplaceAllStringFunc(str, strings.ToLower)
	//替换掉注释和一些标签
	reg := regexp.MustCompile(`<!--[^>]+>|<iframe[\S\s]+?</iframe>|<a[^>]+>|</a>|<script[\S\s]+?</script>|<div class="hzh_botleft">[\S\s]+?</div>`)
	str = reg.ReplaceAllString(str, "")
	fmt.Println(str)

}



本文来自:开源中国博客

感谢作者:别人说我名字很长

查看原文:golang 正则替换html标签

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。