import re def footnote(data, fol_num): a = 1 tou = "

" namu = [] pop_re = re.compile('(?:\[\*([^\s]*)(?:\s((?:(?!\[|\]).)*))?\]|(\[각주\]))') while(1): b = pop_re.search(data) if(b): results = b.groups() try: if(not results[1] and results[0]): i = 0 while(1): try: if(namu[i] == results[0]): none_this = 0 break else: i += 2 except: none_this = 1 break if(none_this == 0): data = pop_re.sub("[" + results[0] + "]", data, 1) else: data = pop_re.sub("#d#" + results[0] + "#/d#", data, 1) else: if(results[0]): namu += [results[0]] namu += [results[1]] tou += "[" + results[0] + "] " + results[1] + "
" data = pop_re.sub("#d#" + results[0] + "#/d#", data, 1) else: tou += "[" + str(a) + "] " + results[1] + "
" data = pop_re.sub('#d#' + str(a) + '#/d#', data, 1) a += 1 fol_num += 2 except: tou += '
' if(tou == "

"): tou = "" else: tou = re.sub('#d#(?P(?:(?!#\/d#).)*)#\/d#', '[\g]', tou) data = pop_re.sub("
" + tou, data, 1) tou = "

" else: tou += '
' if(tou == "

"): tou = "" else: tou = re.sub('#d#(?P(?:(?!#\/d#).)*)#\/d#', '[\g]', tou) break data = re.sub('#d#(?P(?:(?!#\/d#).)*)#\/d#', '[\g]', data) data = re.sub("\[각주\](?:(?:
| |\r|\n)+)?$", "", data) data = re.sub("(?:(?:
| |\r|\n)+)$", "", data) data += tou return(data)