2011-05-11 4 views
0

를 만드는 나는자바 스크립트 정규 표현식 HTML 목록

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

이 코드에서 HTML 목록을 만들어야합니다 '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

여기서 regexp는 무엇입니까? :) – gaRex

+0

@Alexander - 실제 질문에 regexp에 대한 언급이 없었기 때문에, 나는 OP가 그들의 문제를 해결하기를 원했다고 가정했습니다. 그들이 * re * regexp를 사용하여 이것을 할 수 있다면 어쩌면 그들은 2 가지 문제를 가지고있을 것입니다 ... :) –

+0

나는 단지 상상할 수 없습니다. 얼마나 오래 그리고 그 정규 표현식이 있어야하는지 ... – gaRex