ホームページ > ウェブフロントエンド > htmlチュートリアル > Golang 1.6: text/template_html/css_WEB-ITnose での HTML/JavaScript/URL エスケープ

Golang 1.6: text/template_html/css_WEB-ITnose での HTML/JavaScript/URL エスケープ

WBOY
リリース: 2016-06-24 11:19:05
オリジナル
1647 人が閲覧しました

この記事はバージョン Golang 1.6 用です

まず第一に、Go には 2 つのテンプレート パッケージがあります。1 つは HTML を解析して適切な場所でエンコードを実行できる html/template で、もう 1 つはtext/template、名前からこれはプレーンテキストに基づいたテンプレート処理であることがわかります。そのため、エンコードエスケープが必要な場合は、手動で関数を追加する必要があります。ドキュメントはここにあります。テンプレート内の関数呼び出し形式は次​​のとおりです:

functionName [Argument...]
ログイン後にコピー

text/template には多くの定義済み関数があります。ここでは、HTML、JavaScript、URL のエスケープに焦点を当てます。これらは、それぞれ html、js、および urlquery の 3 つの関数に対応します。これら 3 つの関数を使用し、最後にパラメータを追加します。

完全なサンプルコード:

package mainimport (    "bytes"    "fmt"    "text/template")func main() {    t := template.Must(template.New("test").Parse("原始:{{.}}\nHTML:{{html .}}\nJS:{{js .}}\nURL:{{urlquery .}}"))    buffer := &bytes.Buffer{}    err := t.Execute(buffer, "刘 123 <> \"")    if err != nil {        panic(err)    }    fmt.Print(buffer.String())}
ログイン後にコピー

出力:

原始:刘 123 <> "HTML:刘 123 <> "JS:刘 123 \x3C\x3E \"URL:%E5%88%98+123+%3C%3E+%22
ログイン後にコピー
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート