Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Markdown Parsing | ContentDev Tools
Test UI Features

book
Markdown Parsing

docstring = """
**This** is a **bold** text. *This* is an *italic* text.
*`This`* is a *`code`* snippet.

List:
- 123
- 123

Numbered List:
1. Item 1.;
2. Item 2
"""
docstring = docstring.strip()

import re

def format_docstring(docstring):
docstring = re.sub(r'\*\*(.*?)\*\*', r'<b>\1</b>', docstring) # Заміна '**' на <b> і </b>
docstring = re.sub(r'\*(.*?)\*', r'<i>\1</i>', docstring) # Заміна '*' на <i> і </i>
docstring = re.sub(r'`(.*?)`', r'<code>\1</code>', docstring) # Заміна '*`' на <code> і </code>
# Парсинг списку маркдаун з нумерацією
docstring = re.sub(r'^\d+\. (.*)$', r'<li>\1</li>', docstring, flags=re.M)
# Парсинг списку через "-"
docstring = re.sub(r'\n- (.*)', r'\n<li>\1</li>', docstring)
# Парсинг відступів
docstring = docstring.split("\n")
docstring = "<br>\n".join(docstring)
docstring = docstring.replace("</li><br>", "</li>")
return docstring

print(format_docstring(docstring) + "\n")
12345678910111213141516171819202122232425262728293031
docstring = """ **This** is a **bold** text. *This* is an *italic* text. *`This`* is a *`code`* snippet. List: - 123 - 123 Numbered List: 1. Item 1.; 2. Item 2 """ docstring = docstring.strip() import re def format_docstring(docstring): docstring = re.sub(r'\*\*(.*?)\*\*', r'<b>\1</b>', docstring) # Заміна '**' на <b> і </b> docstring = re.sub(r'\*(.*?)\*', r'<i>\1</i>', docstring) # Заміна '*' на <i> і </i> docstring = re.sub(r'`(.*?)`', r'<code>\1</code>', docstring) # Заміна '*`' на <code> і </code> # Парсинг списку маркдаун з нумерацією docstring = re.sub(r'^\d+\. (.*)$', r'<li>\1</li>', docstring, flags=re.M) # Парсинг списку через "-" docstring = re.sub(r'\n- (.*)', r'\n<li>\1</li>', docstring) # Парсинг відступів docstring = docstring.split("\n") docstring = "<br>\n".join(docstring) docstring = docstring.replace("</li><br>", "</li>") return docstring print(format_docstring(docstring) + "\n")
copy

Note

До списків треба додавати теги <ul> </ul> (unordered list) або <ol> </ol> (ordered list) для створення звичайного (ul), та нумерованого (ol) списків.

Reversed Parsing

docstring = """
<b>This</b> is a <b>bold</b> text. <i>This</i> is an <i>italic</i> text.<br>
<i><code>This</code></i> is a <i><code>code</code></i> snippet.<br>
<br>
List:<br>
<ol>
<li>123</li>
<li>123</li>
</ol>
<br>
Numbered List:<br>
<ul>
<ul><li>Item 1.;</li>
<li>Item 2</li>
</ul>
"""

docstring = docstring.replace("<br>", "")
docstring = docstring.replace("<code>", "`").replace("</code>", "`")
docstring = docstring.replace("<b>", "**").replace("</b>", "**")
docstring = docstring.replace("<i>", "*").replace("</i>", "*")
docstring = docstring.replace("<li>", "- ").replace("</li>", "")
docstring = docstring.replace("<ul>\n", "").replace("</ul>\n", "")
docstring = docstring.replace("<ol>\n", "").replace("</ol>\n", "")
docstring = docstring.replace("<ul>", "").replace("</ul>", "")
docstring = docstring.replace("<ol>", "").replace("</ol>", "")

print(docstring)
12345678910111213141516171819202122232425262728
docstring = """ <b>This</b> is a <b>bold</b> text. <i>This</i> is an <i>italic</i> text.<br> <i><code>This</code></i> is a <i><code>code</code></i> snippet.<br> <br> List:<br> <ol> <li>123</li> <li>123</li> </ol> <br> Numbered List:<br> <ul> <ul><li>Item 1.;</li> <li>Item 2</li> </ul> """ docstring = docstring.replace("<br>", "") docstring = docstring.replace("<code>", "`").replace("</code>", "`") docstring = docstring.replace("<b>", "**").replace("</b>", "**") docstring = docstring.replace("<i>", "*").replace("</i>", "*") docstring = docstring.replace("<li>", "- ").replace("</li>", "") docstring = docstring.replace("<ul>\n", "").replace("</ul>\n", "") docstring = docstring.replace("<ol>\n", "").replace("</ol>\n", "") docstring = docstring.replace("<ul>", "").replace("</ul>", "") docstring = docstring.replace("<ol>", "").replace("</ol>", "") print(docstring)
copy

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 1
We use cookies to make your experience better!
some-alt