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

Laravel Telegram通知:如何添加<br>标签实现商品标题换行显示

解决Laravel Telegram通知的换行问题

嘿,我之前也踩过这个坑!你用\n或者\r\n没用,是因为Telegram默认把通知内容当成纯文本处理,不会解析这些转义字符。要实现换行,得先让通知支持HTML或者Markdown格式才行,下面给你两种可行的方案:

方案一:使用HTML格式(推荐,直接用<br>标签)

修改你的代码,添加->parseMode('HTML')开启HTML解析,然后在content里用<br>来换行:

public function toTelegram($product) {
    return TelegramMessage::create()
        ->to('@xxxxx')
        ->parseMode('HTML') // 关键:开启HTML解析模式
        ->content('New Product is here 😍<br>' . $product->title) // <br>会被解析成换行
        ->button('Shop Now', 'http://domain.co/store/'. $product->slug);
}

方案二:使用Markdown格式

如果你更习惯Markdown语法,可以开启MARKDOWN解析模式,用两个连续的换行(\n\n)来实现新行:

public function toTelegram($product) {
    return TelegramMessage::create()
        ->to('@xxxxx')
        ->parseMode('MARKDOWN') // 开启Markdown解析模式
        ->content("New Product is here 😍\n\n" . $product->title) // 两个换行实现段落分隔
        ->button('Shop Now', 'http://domain.co/store/'. $product->slug);
}

原理很简单:只有当你指定了parseMode,Telegram才会识别并解析对应的格式标记,不然所有内容都会被当成纯文本输出,转义字符和标签自然就失效啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:00:53