""" Модуль для обработки HTML-фрагментов """ import re def extract_text(html_content: str | None) -> str: """ Извлекает текст из HTML с помощью регулярных выражений. Args: html_content (Optional[str]): HTML-строка для извлечения текста Returns: str: Извлеченный текст или пустая строка """ if not html_content: return "" # Удаляем HTML-теги text = re.sub(r"<[^>]+>", " ", html_content) # Декодируем HTML-сущности text = re.sub(r"&[a-zA-Z]+;", " ", text) # Убираем лишние пробелы return re.sub(r"\s+", " ", text).strip() def wrap_html_fragment(fragment: str) -> str: """ Оборачивает HTML-фрагмент в полный HTML-документ. Args: fragment (str): HTML-фрагмент Returns: str: Полный HTML-документ """ if "" in fragment and "" in fragment: return fragment return f""" {fragment} """