使用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
相关产品推荐
相关产品推荐

