|
|
@@ -110,12 +110,16 @@ def start(conn, data, title):
|
|
|
# DB 지정
|
|
|
curs = conn.cursor()
|
|
|
|
|
|
- # 맨 앞과 끝에 개행 문자 추가
|
|
|
+ # 초기 설정
|
|
|
data = '\r\n' + data + '\r\n'
|
|
|
+ data = re.sub('\r\n( +)\|\|', '\r\n||', data)
|
|
|
|
|
|
# XSS 이스케이프
|
|
|
data = html.escape(data)
|
|
|
+
|
|
|
data = re.sub('<(?P<in>(table|row)? ?(text|bg|border|width|height|class)?(color|align)?(=(((?!>).)+))|\(|:|\)|(-|\|)[0-9]+|(#(?:[0-9a-f-A-F]{3}){1,2})|(\w+))>', '<\g<in>>', data)
|
|
|
+ data = re.sub('<(?P<in>\/?math)>', '<\g<in>>', data)
|
|
|
+
|
|
|
data = re.sub(''''(?P<in>((?!''').)+)'''', '\'\'\'\g<in>\'\'\'', data)
|
|
|
data = re.sub('''(?P<in>((?!'').)+)''', '\'\'\g<in>\'\'', data)
|
|
|
|
|
|
@@ -175,6 +179,8 @@ def start(conn, data, title):
|
|
|
else:
|
|
|
break
|
|
|
|
|
|
+ data = data.replace('\\', '\')
|
|
|
+
|
|
|
# 텍스트 꾸미기 문법
|
|
|
data = re.sub('\'\'\'(?P<in>(?:(?!\'\'\').)+)\'\'\'', '<b>\g<in></b>', data)
|
|
|
data = re.sub('\'\'(?P<in>(?:(?!\'\').)+)\'\'', '<i>\g<in></i>', data)
|