import re def parse_markdown(markdown): lines = markdown.split('\n') res = '' in_list = False for i in lines: if re.match('###### (.*)', i) is not None: i = '
' + i[7:] + '
' elif re.match('## (.*)', i) is not None: i = '

' + i[3:] + '

' elif re.match('# (.*)', i) is not None: i = '

' + i[2:] + '

' m = re.match(r'\* (.*)', i) if m: if not in_list: in_list = True is_bold = False is_italic = False curr = m.group(1) m1 = re.match('(.*)__(.*)__(.*)', curr) if m1: curr = m1.group(1) + '' + \ m1.group(2) + '' + m1.group(3) is_bold = True m1 = re.match('(.*)_(.*)_(.*)', curr) if m1: curr = m1.group(1) + '' + m1.group(2) + \ '' + m1.group(3) is_italic = True if is_italic or is_bold: i = '' return res