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: 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""" """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('](', "]\\(") 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? def sanitize_to_url(text: str) -> str: # TODO ) replaces needed?