Разрешенный HTML в Telegram-ботах

3138
16 Октября 2025

Если вы разрабатываете Telegram-бота и хотите красиво форматировать сообщения, важно знать, какие HTML-теги поддерживает Telegram. Не все привычные теги из веба работают. Попробуем разобраться с этим на практике.

1. Поддерживаемые теги

Telegram понимает только определенный набор HTML-тегов:

  • <b> — делает текст жирным
  • <i> — делает текст курсивным
  • <u> — подчеркивает текст
  • <s> — зачёркивает текст
  • <code> — моноширинный текст в одну строку
  • <pre> — блок моноширинного текста с переносами строк
  • <a href="URL"> — ссылка

2. Пример использования

Пример с HTML для Telegram-бота:

<b>Жирный текст</b>
<i>Курсив</i>
<u>Подчеркнутый</u>
<s>Зачёркнутый</s>
<code>Моноширинный текст</code>
<pre>Блок с
переносами строк</pre>
<a href="https://example.com">Ссылка</a>

3. Что не работает

Некоторые привычные HTML-теги не поддерживаются, например:

  • <br> — перенос строки не работает (используйте \n или <pre>)
  • <div>, <span>, <img>, <h1>-<h6> и другие теги оформления

4. Переносы строк

Чтобы сделать перенос строки в сообщении бота, используйте:

  • Символ \n в строке
  • Тег <pre> для блока текста с переносами

Пример:

$message = "Привет\nЭто новая строка";
$telegram->sendMessage($message);

Или с HTML:

$message = "<pre>Строка 1\nСтрока 2</pre>";
$telegram->sendMessage($message);

Какие HTML-теги поддерживаются в сообщениях Telegram-бота и как правильно использовать переносы строк.

Вывод

Когда вы разрабатываете Telegram-бота, важно помнить, что поддерживается ограниченный набор HTML-тегов. Для переносов строк используйте \n или тег <pre>. Остальные теги (жирный, курсив, подчеркнутый, ссылка и моноширинный текст) работают без проблем.

поделиться в:
ruenkzzh