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

使用bluemonday清理文本后撇号被转义问题求助

问题解决:bluemonday保留单引号不转义

你的问题出在bluemonday的UGCPolicy()默认会对单引号进行HTML转义,所以doesn't被转成了doesn't。要保留原始单引号,只需在策略中添加允许单引号的规则即可。

修改后的代码如下:

package main

import (
	"log"
	"github.com/microcosm-cc/bluemonday"
)

func main() {
	c := "hello doesn't work 😖"

	p := bluemonday.UGCPolicy()
	// 添加这一行,允许保留单引号不转义
	p.AllowSingleQuotes()
	
	log.Println(p.Sanitize(c))
}

运行这段代码后,输出就会符合预期:hello doesn't work 😖

如果你需要更精细的规则控制,还可以根据需求调整其他策略选项,但针对当前场景,AllowSingleQuotes()就能直接解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:31:12