|
@@ -172,39 +172,39 @@ def middle_parser(data):
|
|
|
middle_number = 0
|
|
middle_number = 0
|
|
|
fol_num = 0
|
|
fol_num = 0
|
|
|
while 1:
|
|
while 1:
|
|
|
- middle_data = re.search('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', data)
|
|
|
|
|
|
|
+ middle_data = re.search('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', data)
|
|
|
if middle_data:
|
|
if middle_data:
|
|
|
middle_data = middle_data.groups()
|
|
middle_data = middle_data.groups()
|
|
|
if not middle_data[1]:
|
|
if not middle_data[1]:
|
|
|
if middle_stack > 0:
|
|
if middle_stack > 0:
|
|
|
middle_stack += 1
|
|
middle_stack += 1
|
|
|
|
|
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*)(?P<in> ?)|(}}}))', '{{{' + middle_data[0] + '\g<in>', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*)(?P<in> ?)|(}}}))', '{{{' + middle_data[0] + '\g<in>', data, 1)
|
|
|
else:
|
|
else:
|
|
|
if re.search('^(#|@|\+|\-)', middle_data[0]) and not re.search('^(#|@|\+|\-){2}', middle_data[0]):
|
|
if re.search('^(#|@|\+|\-)', middle_data[0]) and not re.search('^(#|@|\+|\-){2}', middle_data[0]):
|
|
|
middle_search = re.search('^(#(?:[0-9a-f-A-F]{3}){1,2})', middle_data[0])
|
|
middle_search = re.search('^(#(?:[0-9a-f-A-F]{3}){1,2})', middle_data[0])
|
|
|
if middle_search:
|
|
if middle_search:
|
|
|
middle_list += ['span']
|
|
middle_list += ['span']
|
|
|
|
|
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', '<span style="color: ' + middle_search.groups()[0] + ';">', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', '<span style="color: ' + middle_search.groups()[0] + ';">', data, 1)
|
|
|
else:
|
|
else:
|
|
|
middle_search = re.search('^(?:#(\w+))', middle_data[0])
|
|
middle_search = re.search('^(?:#(\w+))', middle_data[0])
|
|
|
if middle_search:
|
|
if middle_search:
|
|
|
middle_list += ['span']
|
|
middle_list += ['span']
|
|
|
|
|
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', '<span style="color: ' + middle_search.groups()[0] + ';">', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', '<span style="color: ' + middle_search.groups()[0] + ';">', data, 1)
|
|
|
else:
|
|
else:
|
|
|
middle_search = re.search('^(?:@((?:[0-9a-f-A-F]{3}){1,2}))', middle_data[0])
|
|
middle_search = re.search('^(?:@((?:[0-9a-f-A-F]{3}){1,2}))', middle_data[0])
|
|
|
if middle_search:
|
|
if middle_search:
|
|
|
middle_list += ['span']
|
|
middle_list += ['span']
|
|
|
|
|
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', '<span style="background: #' + middle_search.groups()[0] + ';">', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', '<span style="background: #' + middle_search.groups()[0] + ';">', data, 1)
|
|
|
else:
|
|
else:
|
|
|
middle_search = re.search('^(?:@(\w+))', middle_data[0])
|
|
middle_search = re.search('^(?:@(\w+))', middle_data[0])
|
|
|
if middle_search:
|
|
if middle_search:
|
|
|
middle_list += ['span']
|
|
middle_list += ['span']
|
|
|
|
|
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', '<span style="background: ' + middle_search.groups()[0] + ';">', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', '<span style="background: ' + middle_search.groups()[0] + ';">', data, 1)
|
|
|
else:
|
|
else:
|
|
|
middle_search = re.search('^(\+|-)([1-5])', middle_data[0])
|
|
middle_search = re.search('^(\+|-)([1-5])', middle_data[0])
|
|
|
if middle_search:
|
|
if middle_search:
|
|
@@ -216,7 +216,7 @@ def middle_parser(data):
|
|
|
|
|
|
|
|
middle_list += ['span']
|
|
middle_list += ['span']
|
|
|
|
|
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', '<span style="font-size: ' + font_size + '%;">', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', '<span style="font-size: ' + font_size + '%;">', data, 1)
|
|
|
else:
|
|
else:
|
|
|
middle_search = re.search('^#!wiki', middle_data[0])
|
|
middle_search = re.search('^#!wiki', middle_data[0])
|
|
|
if middle_search:
|
|
if middle_search:
|
|
@@ -246,7 +246,7 @@ def middle_parser(data):
|
|
|
if middle_search:
|
|
if middle_search:
|
|
|
middle_list += ['span']
|
|
middle_list += ['span']
|
|
|
|
|
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', '<span>', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', '<span id="html">', data, 1)
|
|
|
else:
|
|
else:
|
|
|
middle_search = re.search('^#!folding', middle_data[0])
|
|
middle_search = re.search('^#!folding', middle_data[0])
|
|
|
if middle_search:
|
|
if middle_search:
|
|
@@ -264,34 +264,34 @@ def middle_parser(data):
|
|
|
else:
|
|
else:
|
|
|
middle_list += ['span']
|
|
middle_list += ['span']
|
|
|
|
|
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', '<span>', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', '<span>', data, 1)
|
|
|
else:
|
|
else:
|
|
|
middle_list += ['code']
|
|
middle_list += ['code']
|
|
|
|
|
|
|
|
middle_stack += 1
|
|
middle_stack += 1
|
|
|
|
|
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*)|(}}}))', '<code>' + middle_data[0].replace('\\', '\\\\'), data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*)|(}}}))', '<code>' + middle_data[0].replace('\\', '\\\\'), data, 1)
|
|
|
|
|
|
|
|
middle_number += 1
|
|
middle_number += 1
|
|
|
else:
|
|
else:
|
|
|
if middle_list == []:
|
|
if middle_list == []:
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', '}}}', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', '}}}', data, 1)
|
|
|
else:
|
|
else:
|
|
|
if middle_stack > 0:
|
|
if middle_stack > 0:
|
|
|
middle_stack -= 1
|
|
middle_stack -= 1
|
|
|
|
|
|
|
|
if middle_stack > 0:
|
|
if middle_stack > 0:
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', '}}}', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', '}}}', data, 1)
|
|
|
else:
|
|
else:
|
|
|
if middle_number > 0:
|
|
if middle_number > 0:
|
|
|
middle_number -= 1
|
|
middle_number -= 1
|
|
|
|
|
|
|
|
if middle_list[middle_number] == '2div':
|
|
if middle_list[middle_number] == '2div':
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', '</div_end></div_end></div_end>', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', '</div_end></div_end></div_end>', data, 1)
|
|
|
elif middle_list[middle_number] == 'pre':
|
|
elif middle_list[middle_number] == 'pre':
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', '</code></pre>', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', '</code></pre>', data, 1)
|
|
|
else:
|
|
else:
|
|
|
- data = re.sub('(?:{{{((?:(?! |{{{|}}}).)*) ?|(}}}))', '</' + middle_list[middle_number] + '>', data, 1)
|
|
|
|
|
|
|
+ data = re.sub('(?:{{{((?:(?! |{{{|}}}|<).)*) ?|(}}}))', '</' + middle_list[middle_number] + '>', data, 1)
|
|
|
|
|
|
|
|
del(middle_list[middle_number])
|
|
del(middle_list[middle_number])
|
|
|
else:
|
|
else:
|
|
@@ -327,6 +327,34 @@ def middle_parser(data):
|
|
|
else:
|
|
else:
|
|
|
break
|
|
break
|
|
|
|
|
|
|
|
|
|
+ # HTML 처리
|
|
|
|
|
+ while 1:
|
|
|
|
|
+ html_data = re.search('<span id="html">((?:(?:(?:(?!<\/span>)).)+\n*)+)<\/span>', data)
|
|
|
|
|
+ if html_data:
|
|
|
|
|
+ html_data = html_data.groups()
|
|
|
|
|
+ html_data_2 = html_data[0]
|
|
|
|
|
+
|
|
|
|
|
+ while 1:
|
|
|
|
|
+ test = re.search('<span((?:(?!>).)*)>', html_data_2)
|
|
|
|
|
+ if test:
|
|
|
|
|
+ test = test.groups()[0]
|
|
|
|
|
+ test = re.sub('"', '"', test)
|
|
|
|
|
+
|
|
|
|
|
+ html_data_2 = re.sub('<span((?:(?!>).)*)>', '<span' + test + '>', html_data_2, 1)
|
|
|
|
|
+ else:
|
|
|
|
|
+ break
|
|
|
|
|
+
|
|
|
|
|
+ span_num = re.findall('<span(?:(?:(?!>).)*)>', html_data_2)
|
|
|
|
|
+ span_num = len(span_num)
|
|
|
|
|
+ span_end_num = re.findall('<\/span>', html_data_2)
|
|
|
|
|
+ span_end_num = len(span_end_num)
|
|
|
|
|
+
|
|
|
|
|
+ re_num = span_num - span_end_num
|
|
|
|
|
+
|
|
|
|
|
+ data = re.sub('<span id="html">((?:(?:(?:(?!<\/span>)).)+\n*)+)<\/span>', '<span id="end_html">' + html_data_2 + ('</span>' * re_num) + '<\/span>', data, 1)
|
|
|
|
|
+ else:
|
|
|
|
|
+ break
|
|
|
|
|
+
|
|
|
return data
|
|
return data
|
|
|
|
|
|
|
|
def link_fix(main_link):
|
|
def link_fix(main_link):
|