用于创建HTML列表的Javascript正则表达式

时间:2011-05-11 23:06:16

标签: javascript regex html-lists

我必须从此代码

创建 html list
- ali
- hammad
- shah
-- haripur hazara
-- gaga goo
- naqvi

' - '代表列表的开头,嵌套列表元素有' - '符号,你可以看到'haripur hazara'和'gaga gogo'。可以插入多少嵌套列表没有限制。任何帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:1)

var  h = [];
var d = 0, dl = 0;
var s = "- ali\n" +
        "- hammad\n" +
        "- shah\n" +
        "-- haripur  hazara\n" +
        "--- gaga goo\n" +
        "- naqvi ";

var a = s.split('\n'); 

for(var x=0,l=a.length;x<l;x++)
{
    d=a[x].indexOf(' ');
    if(d>dl){h.push('<ul>');}
    if(d<dl){h.push('</ul>');}
    h.push('<li>'+a[x].substring(d+1) + '</li>');
    dl=d;
}
while(d-- > 0){h.push('</ul>');}
document.getElementById('test').innerHTML = h.join('');