...

パッケージ html

概要 ▾

html パッケージは HTML のエスケープとアンエスケープ関数を提供します。

func EscapeString

func EscapeString(s string) string

EscapeString は,特別な文字をエスケープします。たとえば, "<" は "&lt;" となります。 エスケープするのは次の 5 つの文字だけです。 <, >, &, ', "。 必ず UnescapeString(EscapeString(s)) == s となりますが,逆は必ずしも真ではありません。

コード:

const s = `"Fran & Freddie's Diner" <tasty@example.com>`
fmt.Println(html.EscapeString(s))

出力:

&#34;Fran &amp; Freddie&#39;s Diner&#34; &lt;tasty@example.com&gt;

func UnescapeString

func UnescapeString(s string) string

UnescapeString は "&lt;" を "<" するように,エンティティをアンエスケープします。 EscapeString がエスケープするよりも広い範囲のエンティティをアンスケープします。 例えば,"&aacute;" を "á" にアンエスケープし,"&#225;" や "&#xE1;" もアンエスケープします。 必ず UnescapeString(EscapeString(s)) == s となりますが,逆は必ずしも真ではありません。

コード:

const s = `&quot;Fran &amp; Freddie&#39;s Diner&quot; &lt;tasty@example.com&gt;`
fmt.Println(html.UnescapeString(s))

出力:

"Fran & Freddie's Diner" <tasty@example.com>

サブディレクトリ

名前 概要
..
template template (html/template) パッケージはコードインジェクション対策を施した安全な HTML を生成するデータドリブンのテンプレートを実装します。