Найти в Дзене
allaboutknit.ru

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

Если вы разрабатываете Telegram-бота и хотите красиво форматировать сообщения, важно знать, какие HTML-теги поддерживает Telegram. Не все привычные теги из веба работают. Попробуем разобраться с этим на практике. Telegram понимает только определенный набор HTML-тегов: Пример с HTML для Telegram-бота: <b>Жирный текст</b>
<i>Курсив</i>
<u>Подчеркнутый</u>
<s>Зачёркнутый</s>
<code>Моноширинный текст</code>
<pre>Блок с
переносами строк</pre>
<a href="https://example.com">Ссылка</a> Некоторые привычные HTML-теги не поддерживаются, например: Чтобы сделать перенос строки в сообщении бота, используйте: Пример на PHP: $message = "Привет\nЭто новая строка";
$telegram->sendMessage($message); Или с HTML: $message = "<pre>Строка 1\nСтрока 2</pre>";
$telegram->sendMessage($message); Когда вы разрабатываете Telegram-бота, важно помнить, что поддерживается ограниченный набор HTML-тегов. Для переносов строк используйте \n или тег <pre>. Остальные теги (жирный, курсив, подчеркнутый, ссылка и моноширинны
Оглавление

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

Разрешенный HTML в 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> для блока текста с переносами

Пример на PHP:

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

Или с HTML:

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

Вывод

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