2011-05-11 27 views
0

我必須從這個代碼創建HTML列表JavaScript正則表達式生成HTML列表

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

的「 - 」表示開始列表和嵌套列表元素有額外的「 - 」符號,你可以請看'haripur hazara'和'gaga gogo'。對可以插入多少個嵌套列表沒有限制。任何幫助將不勝感激。

謝謝。

回答

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(''); 
+0

哪裏是正則表達式? :) – gaRex 2011-05-12 07:29:55

+0

@Alexander - 因爲在實際問題中沒有提到正則表達式,所以我認爲OP只是想解決他們的問題。如果他們*需要*使用正則表達式來做到這一點,那麼也許他們有2個問題... :) – 2011-05-12 15:07:28

+0

我只是甚至不能想象,這些正則表達式應該是多久和eveil ... – gaRex 2011-05-12 15:16:07