Changed sanitization function to one from RcGcDw project based on feedback

This commit is contained in:
Frisk 2024-09-27 14:00:14 +02:00
parent e2b9774134
commit 80cbb73807

View file

@ -40,8 +40,13 @@ def clean_link(link: str) -> str:
def sanitize_to_markdown(text: str) -> str:
"""Sanitizes given text to escape markdown formatting. It is used in values that will be visible on Discord in messages"""
return re.sub(r"([`_*~:<>{}@|\\])", "\\\\\\1", text).replace('//', "/\\/").replace('](', "]\\(")
"""Sanitizes given text to escape markdown formatting. It is used in values that will be visible on Discord in messages"""
text = text.replace("\\", "\\\\").replace('//', '/\\/').replace("](", "]\\(") # replace escaping and links
text = re.sub(r"([`_*~:<>{}@|])", "\\\\\\1", text) # Escape common Markdown characters
text = re.sub(r"^(#+ )", '\\\\\\1', text, 0, re.MULTILINE) # Escape headers
text = re.sub(r"^(\s*)- ", '\\1\\\\- ', text, 0, re.MULTILINE) # Escape lists
text = re.sub(r"^(\s*\d+)\. ", "\\1\\\\. ", text, 0, re.MULTILINE) # Escape numbered lists
return text
def sanitize_to_url(text: str) -> str: # TODO ) replaces needed?