转载请注明出处
原文连接 blog.huanghanlian.com/article/5c8…
文章起源
源于本博客开发实现需要
- 在首页列表需要对文字进行截取,需要截取第一张Markdown 语法的图片url。
- 在文章详情页以及关于文章展示的页面。需要对文章内容进行截取。填充
head
description。利于seo优化
Markdown 是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。
真实场景以及功能需求
-
文章编写
-
文章列表预览
-
头部描述截取
需要做的事情是将文章Markdown 语法的字符串,对特定的语句进行过滤。只显示文章正文部分
实现场景
文章编写存入数据库是字符串类型
在访问某篇文章后台会去数据库中取对应的文章数据。 然后通过匹配将Markdown 语法的字符串转义成html元素字符渲染输出
'# 一级标题\r\n## 二级标题\r\n##### 五级标题\r\n- 列表第一项\r\n- 列表第二项\r\n1. 有序列表第一项\r\n2. 有序列表第
二项\r\n[标题](链接地址)\r\n![图片描述](图片链接地址)\r\n*斜体*\r\n**粗体**\r\n> 引用段落\r\n```\r\n代码块\r\n```'
复制代码
现在需要做的是将这些字符去掉不想要的,提取内容部分
正则表达式规则
在使用正则表达式解析 Markdown 语法之前,我们要先对正则表达式的规则有一个基本的认识,下面我整理了一张正则表达式语法对照表。
正则表达式预定义类:
字符 | 含义 |
---|---|
. | 除了回车符和换行符之外的所有字符,等价于[^\r\n] |
\d | 数字字符,等价于[0-9] digit |