2014-04-22 10 views
-2

텍스트 서식 (굵게, 기울임 꼴 및 밑줄)을 사용하는 동안 문제가있는 응용 프로그램에서 작업하고 있습니다. # b #, # i # 및 # u #로 전체 텍스트를 분할하여 배열을 만들고 있습니다. 그러나 몇 가지 시나리오에서 그렇게 분할하는 것은 어렵습니다. 나는 '%% word'와 같은 단어를 구분할 필요가있는 또 다른 상황을 가지고 있습니다. 몇 가지 예입니다JavaScript로 텍스트 구문 분석 및 서식 지정

1. A #i#sample#/i# %%text #b#with%% text format#/b# 
2. %%#b#A#/b#%%|%%#b#B#/b#%% will be good. 

모든 경우에서 나는 다음과 같은 배열을 필요 -

["A"," ","<i>sample</i>"," ","%%text<b>with</b>%%"," ","<b>text format</b>"] 

["%%<b>A</b>%%","|","%%<b>B</b>%%"," ","will be good."] //Space excluded 

답변

1
var s = "A #i#sample#/i# %%text #b#with%% text format#/b#", 
    s1 = "%%#b#A#/b#%%|%%#b#B#/b#%% will be good."; 
s.replace(/#(.*?)#/g, "<$1>"); //"A <i>sample</i> %%text <b>with%% text format</b>" 
s1.replace(/#(.*?)#/g, "<$1>"); //"%%<b>A</b>%%|%%<b>B</b>%% will be good." 

당신은 적절한 괄호 <>#를 교체 캡처 그룹을 사용할 수 있습니다.