Замена невалидных html тэгов < и > на &lt; и &gt;
при отправке сообщения в телеграм с помощью бота, используется форматировка html, что значит при попытке запихать <аргумент> будет ошибка, и нужно заменять эти стрелочки на <
и >
но писать их каждый раз в куче текста просто адский не удобно, я хотел бы попробовать сделать регулярку которая будет заменять такие штуки автоматический но не трогать валидные html тэги к примеру:
Пример Валидного тэга который не нужно заменять
<a href="tg://user?id=1">Bot</a>
Невалидный тэг который требует замены
<аргумент команды>
Невалидный тэг который требует замены
< вам в ту сторону >.<
Код который я пытался реализовать но ничего не вышло(
import re
def replace_invalid_tags(html_string):
invalid_tag_pattern = r'<[^a-zA-Z/!?](.*?)>'
fixed_html = re.sub(invalid_tag_pattern, r'<\1>', html_string)
return fixed_html
html_string = '<a href="#">Link</a> <argument1> <argument2>'
fixed_html = replace_invalid_tags(html_string)
print(fixed_html)
Источник: Stack Overflow на русском