使用正则表达式也可以写一个简单的 markdown 解析器一般的 markdown 表达式是这样
# 这是一个 markdown 表达式
## 这是一个 markdown 表达式
一行一个 markdown 表达式,所以可以使用 split(‘n’) 将 markdown 内容分割为一个数组,数组的都每一项都是一个 markdown 表达式然后再对每一行表达式进行解析,假如匹配到了如下表达式
# 这是一个 markdown 表达式
## 这是一个 markdown 表达式
可以这样处理
arry = row.match(/^#\s/)
if (arry[0] == ‘#’) {
‘<h1>’ + rows.substring(2) + ‘</h1>’;
}
将得到以下 HTML 语句
<h1> 这是一个 markdown 表达式 </h1>
<h2> 这是一个 markdown 表达式 </h2>
再把得到的 HTML 语句渲染到 DOM 中 就完成了一次 markdown 文本解析了对于其他的 markdown 也是遵循这个规则来处理
先来看一个简单的 DEMO 这是项目代码