Регулярное выражение Javascript для создания списка HTML - PullRequest
0 голосов
/ 12 мая 2011

Мне нужно создать список html из этого кода

- ali
- hammad
- shah
-- haripur hazara
-- gaga goo
- naqvi

«-» представляет начало списка, а вложенные элементы списка имеют дополнительный символ «-», как вы можете видеть с помощью «haripur hazara» и «gaga gogo». Нет ограничений на количество вложенных списков, которые можно вставить. Любая помощь будет принята с благодарностью.

Спасибо.

1 Ответ

1 голос
/ 12 мая 2011
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('');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...