需要借助一个包
“github.com/russross/blackfriday”
然后两个函数
// TrimHtml 去除HTML标签 func TrimHtml(html string) string { //将HTML标签全转换成小写 re, _ := regexp.Compile("\\<[\\S\\s]+?\\>") html = re.ReplaceAllStringFunc(html, strings.ToLower) //去除STYLE re, _ = regexp.Compile("\\<style[\\S\\s]+?\\</style\\>") html = re.ReplaceAllString(html, "") //去除SCRIPT re, _ = regexp.Compile("\\<script[\\S\\s]+?\\</script\\>") html = re.ReplaceAllString(html, "") //去除所有尖括号内的HTML代码,并换成换行符 re, _ = regexp.Compile("\\<[\\S\\s]+?\\>") html = re.ReplaceAllString(html, "\n") //去除连续的换行符 re, _ = regexp.Compile("\\s{2,}") html = re.ReplaceAllString(html, "\n") return strings.TrimSpace(html) } // Markdown2Html Markdown format to HTML format func Markdown2Html(markdown string) string { html := blackfriday.MarkdownCommon([]byte(markdown)) return string(html) }
简单转换
func main() { s := "## 爬虫步骤\n\n- 明确目标(确定在那个网站搜索)\n- 爬(爬下内容)\n- 取(筛选想要的)\n- 处理数据(根据自己的想法)\n\n## 正则表达式\n\n- 文档:https://studygolang.com/pkgdoc\n- API\n - re := regexp.MustCompile(reStr),传入正则表达式,得到正则表达式对象\n - ret := re.FindAllStringSubmatch(srcStr,-1):用正则对象,获取页面页面,srcStr\n- 爬邮箱\n- 方法抽取\n- 爬连接\n- 爬手机号\n - http://www.zhaohaowang.com/ 如果连接失效了自己找一个有手机号的就好了\n- 爬身份证\n - http://henan.qq.com/a/20171107/069413.htm 如果连接失效了自己找一个就好了\n- 爬图片连接\n\n```golang\npackage main\n\nimport (\n \"fmt\"\n \"io/ioutil\"\n \"net/http\"\n \"regexp\"\n)\n" fmt.Println(TrimHtml(Markdown2Html(s))) }
转换效果:
转换前
转换后