將[]字節(jié)傳遞到模板中,作為論壇樣式的Web應用程序上的消息發(fā)布的正文。在模板中,調(diào)用一個方法以轉(zhuǎn)換為字符串,然后切換所有換行符以換行:<p>{{.BodyString}}</p>...func (p *Post) BodyString() string { nl := regexp.MustCompile(`\n`) return nl.ReplaceAllString(string(p.Body), `<br>`)}最終結(jié)果是:paragraphs <br> <br>in <br> <br>this <br> <br>post我不想用HTML(p.Body)傳遞整個帖子,因為它表示來自潛在不可靠來源的第三方數(shù)據(jù)。有沒有一種方法可以使用香草Go1模板包將某些標簽列入格式白名單?
2 回答

守著星空守著你
TA貢獻1799條經(jīng)驗 獲得超8個贊
我深信模板包對此無能為力。如果您想刪除特定的(列入黑名單的)標簽(分別是此類標簽所包圍的子樹)或僅允許傳遞特定的標簽(列入白名單的標簽),那么我認為大概就是解析并重寫html AST是一個很好的解決方案。就是說,人們可以在這里和那里看到一些瘋狂的RE試圖這樣做,但是我不認為這是一個“好的解決方案”,而且我懷疑它們在符合HTML規(guī)范的一般情況下是否可以成為“正確的”解決方案,其中包括一些法律上的違規(guī)行為,因為它可能不屬于常規(guī)語法類別問題。
- 2 回答
- 0 關注
- 335 瀏覽
添加回答
舉報
0/150
提交
取消