2013-05-01 11 views
0
나는 다음과 같은 형식으로 중첩 된 [quote] 태그 문자열로 설정 한

를 HTML로 (BBCode는 유사) 태그를 변환하는 : 당신이 일반 BBCode는 같지 않다시피정규 표현식은

[quote name="John"]Some text. [quote name="Piter"]Inner quote.[/quote][/quote] 

. 그래서 나는 다음과 같은 문자열로 변환하는 루비 gsub에 적합한 정규 표현식을 찾을 수 없습니다 :

<blockquote> 
    <p>Some text. 

    <blockquote> 
     <p>Inner quote.</p> 
     <small>Piter</small> 
    </blockquote> 
    </p> 
    <small>John</small> 
</blockquote> 

누구는 정규 표현식 좀 도와 주시겠습니까?

답변

0

저는 정규 표현식이 근본적으로 중첩에 대처할 수 없다고 확신합니다. 할 수있는 일은 최소 일치 (예 : 내부 인용 레벨 만)를 수행하고이를 대체 한 다음 더 많은 일치가있는 한 반복합니다. 레벨을 바꾼 후에는 HTML 일 뿐이므로 정규식과 더 이상 일치하지 않을 것입니다.