Go --- 将Markdown格式转化为普通的文档格式

简介: Go --- 将Markdown格式转化为普通的文档格式

需要借助一个包

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)))
}

转换效果:

转换前

转换后


相关文章
|
15天前
|
IDE Java 开发工具
在 Vim 里为 Markdown 文档展示导航窗格
在一个很长的 Markdown 文档里要准确跳转到某标题并不容易,如果像 Word 那样有个导航窗格就好了。
28 6
|
5月前
|
关系型数据库 数据库连接 数据库
Python执行PG数据库查询语句:以Markdown格式打印查询结果
使用Python的`psycopg2`和`pandas`库与PostgreSQL交互,执行查询并以Markdown格式打印结果。首先确保安装所需库:`pip install psycopg2 pandas`。接着建立数据库连接,执行查询,将查询结果转换为DataFrame,再用`tabulate`库将DataFrame格式化为Markdown。代码示例包括连接函数、查询函数、转换和打印函数。最后限制列宽以适应输出。
|
2月前
|
JSON 小程序 前端开发
towxml的使用,在微信小程序中快速将markdown格式渲染为wxml文本
本文介绍了在微信小程序中使用`towxml`库将Markdown格式文本渲染为WXML的方法。文章提供了`towxml`的概述、安装步骤、以及如何在小程序中配置和使用`towxml`进行Markdown解析的详细说明和代码示例。
|
2月前
基于typora编写Markdown文档
如何使用Typora编写Markdown文档的教程,包括软件设置、快捷键使用以及一些使用技巧。
62 18
|
3月前
|
存储 自然语言处理 前端开发
Star 6.9k!开源的全能Markdown格式文件提取器:MinerU
总的来说,MinerU是一款非常实用且强大的数据提取工具。无论你是开发者、互联网从业者,还是有具体需求的新人小白,MinerU都能极大地提升你的工作效率,让你专注于更有价值的工作。 最后,如果你对MinerU感兴趣,不妨亲自尝试一下,相信你会爱上这款全能的Markdown格式文件提取器。
|
3月前
【Latex 格式】Markdown或者LaTeX在单个字母上加一横、一点、两点、三角
Markdown或者LaTeX在单个字母上加一横、一点、两点、三角
258 8
|
3月前
|
JSON Go 数据格式
Go - 使用工具生成易读的 Protocol 文档
Go - 使用工具生成易读的 Protocol 文档
23 1
|
4月前
|
JavaScript Java
Java 将Markdown文件转换为Word和PDF文档
【7月更文挑战第5天】Java中使用`Spire.Doc for Java`库可方便地将Markdown转换为Word或PDF。基本步骤包括导入模块,创建`Document`对象,加载Markdown文件,然后保存为目标格式(`.docx`或`.pdf`)。若遇到`Invalid UTF-8 stream`错误,需确保Markdown文件是UTF-8无BOM编码。页面设置可通过`PageSetup`类调整。注意,实际应用会依据具体需求和环境有所调整。
265 6
|
4月前
|
JSON 监控 数据挖掘
上网行为管理软件中的Markdown文档编写与格式化
Markdown是轻量级标记语言,用于快速排版和格式化文本,常见于技术文档和博客。基本语法包括:#(1-6个)创建标题,空行分隔段落,*或-创建列表,[文本](链接)插入链接,![文本](图片URL)插入图片。此外,还有代码块(```包围)、引用(&gt;)等高级格式。Markdown支持HTML嵌入以自定义样式,并广泛应用于上网行为管理等领域的文档编写。通过自动化脚本,能将监控数据提交至网站进行分析。
46 6
|
4月前
|
自然语言处理 开发者 Python
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的 HTML 内容。Markdown 的语法简洁明了、学习容易,而且功能比纯文本更强。
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的 HTML 内容。Markdown 的语法简洁明了、学习容易,而且功能比纯文本更强。