我正在尝试抓取web,在少数情况下,我的HTML看起来像这样,并且包括n
&CCD_ 2。
<article>
<div></div>
<p>
<br/>n</p>nt
<p><span></span></p>
</article>
在某些情况下,我该如何删除标签?我有n
或t
,我也需要去掉它。
- 正在剥离所有标签,使其变为空
- 如果它是空的,那么它的父级也将是空的
我不知道这是否是您想要的。
re, _ := regexp.Compile("(<.*?>|n|t|\\n|\\t)")
rep := re.ReplaceAllString(`<article>
<div></div>
<p>
<br/>n</p>nt
<p><span></span></p>
</article>`, "")
fmt.Println(rep)
或者,以下代码仅删除空标记。
func RemoveTags(html string) string {
re, _ := regexp.Compile("<[^>/]+></[^>]+>")
rep := re.ReplaceAllString(html, "")
if rep != html {
return RemoveTags(rep)
}
return rep
}
re, _ := regexp.Compile("(n|t|\\n|\\t|<[^/>]+/>)")
rep := re.ReplaceAllString(`<article>123
<div></div>
<p>
<br/>n</p>nt
<p><span></span></p>
</article>`, "")
fmt.Println(RemoveTags(rep))
结果:
<article>123</article>