如何使用golang转义HTML?

17

以下是关于IT技术的文本:

<script type="text/javascript">alert(123);</script>
<script>alert(123);</script>

如上所述,只有部分html文本被转义了。

现在,我想要转义这段文本:<script>alert(123);</script>

期望的结果:

&lt;script type=&#34;text/javascript&#34;&gt;alert(123);&lt;/script&gt;
&lt;script&gt;alert(123);&lt;/script&gt;

我需要一些帮助。


6
请解释一下你做了什么以及想要实现什么目标。这个例子不够清晰。 - Anirudh Ramanathan
3个回答

28

在html包中有EscapeString函数。

unescaped := `<script>alert(123);</script>`
escaped := html.EscapeString(unescaped)

它的简单代码是 import "html" - Reality

5
package main

import (
    "fmt"
    "html"
)

func main() {
    var s string = `"<script>alert(123);</script>"`
    
    fmt.Println(html.EscapeString(s))
}

0

假设这是一个组名列,组名中可能包含 ' 或 " 字符,我们如何转义 HTML 而不影响这些有效字符呢?例如,如果组名是 Fresher's,那么它将变成 Fresher[something]s。使用 html.EscapeString() 方法将无法解决这个问题。


它可以完美地处理转义任何字符,包括 "':https://goplay.space/#aW8SePpZHRS - Ullaakut

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接