# utils/html.py import re def esc(text: str) -> str: if not text: return "" return str(text).replace("&", "&").replace("<", "<").replace(">", ">") def b(text: str) -> str: return f"{esc(text)}" def i(text: str) -> str: return f"{esc(text)}" def bq(text: str, expandable: bool = False) -> str: if expandable: return f"
{text}
" return f"
{text}
" def code(text: str) -> str: return f"{esc(text)}" def link(label: str, url: str) -> str: safe_label = esc(label) return f'{safe_label}' def clean_steam_html(html_str: str) -> str: """تحويل HTML متطلبات Steam إلى نص عربي نظيف.""" if not html_str: return "" text = re.sub(r'', '\n', html_str) text = re.sub(r'
  • ', '• ', text) text = re.sub(r'
  • ', '\n', text) text = re.sub(r'(.*?)', r'*\1*', text) text = re.sub(r']*>', '', text) text = re.sub(r'', '', text) text = re.sub(r'<[^>]+>', '', text) text = re.sub(r'&', '&', text) text = re.sub(r'<', '<', text) text = re.sub(r'>', '>', text) text = re.sub(r' ', ' ', text) text = re.sub(r'\n{3,}', '\n\n', text) return text.strip()