You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telegram Bot API模板字符串换行失效问题求助

解决Telegram Bot API HTML模式下换行失效问题

当你设置了parse_mode=HTML时,Telegram会按照HTML规则解析消息内容,此时普通的\n换行符不会被识别,必须使用HTML的<br>标签来实现换行。

问题根源

你提到静态字符串"word1\nword2\nword3"能正常换行,大概率是测试这段代码时没有启用HTML解析模式——Telegram默认模式下会把\n解析为换行;但开启parse_mode=HTML后,只有HTML标签才会被解析,纯文本里的\n只会被当作普通空格处理。

具体解决方案

1. 直接在模板字符串/拼接字符串中使用<br>替换\n

// 模板字符串示例
const items = ["word1", "word2", "word3"];
const text = `以下是条目:<br>${items.join('<br>')}`;

// 字符串拼接示例
let text = "word1" + "<br>" + "word2" + "<br>" + "word3";

2. 保留\n写法,生成后统一替换为<br>

如果你的代码逻辑里已经用\n来分隔内容,可以通过正则替换批量转换:

// 模板字符串场景
const rawText = `word1\nword2\nword3`;
const text = rawText.replace(/\n/g, '<br>');

// 动态拼接场景
let rawText = "word1";
rawText += "\n" + "word2";
rawText += "\n" + "word3";
const text = rawText.replace(/\n/g, '<br>');

3. 关闭HTML解析模式(如果不需要HTML格式化)

如果你的消息不需要HTML样式(比如加粗、链接等),可以直接去掉parse_mode=HTML参数,此时\n就能正常解析为换行,不管是静态字符串还是动态生成的内容都能生效。

内容的提问来源于stack exchange,提问作者Anton Yefimov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 07:22:05