-2

我需要使用wiky.js将 wikitext 的有序列表解析为 html 。这个 javascript 主要是使用正则表达式来做到这一点。

例如

# Item1
# Item2
# Item3
# Item4
## Sub-item 1
### Sub-sub-item

显示为

1.Item1
2.Item2
3.Item3
4.Item4
    1.Sub-item 1
       1. Sub-sub-item

我需要获取代码的 HTML 版本。目前 wiki.js 使用旧版本的解析有序列表,现在 Wiki 编辑器不支持。

4

1 回答 1

0

添加以下内容:

{
    rex: /^((#*)[^#].*(\n))(?=#\2)/gm,
    tmplt: "$1<ol>$3"
},
{
    rex: /^((#+).*(\n))(?!\2|<ol)/gm,
    tmplt: "$1</ol>$2.$2$3"
},
{
    rex: /#(?=(#+)\.#+\n(?!\1))/gm,
    tmplt: "</ol>"
},
{
    rex: /(<\/ol>)[#.]+/gm,
    tmplt: "$1"
},
{
    rex: /^((#+).*(\n))(?=\2[^#]|<\/ol)/gm,
    tmplt: "$1</li>$3"
},
{
    rex: /^(<\/ol>(\n)*)#+/gm,
    tmplt: "$1</li>$2<li>"
},
{
    rex: /^#+/gm,
    tmplt: "<li>"
}

希望他们按照这个顺序执行。这将涵盖<ol><li></li></ol>标签的潜在无限递归级别。

我不向您解释代码,因为我使用了一些肮脏的权宜之计,其逻辑很难展开。

于 2016-07-19T18:07:54.460 回答