Bagaimanakah Saya Boleh Memasukkan HTML ke dalam Templat Go Tanpa Melarikan Diri?

Linda Hamilton
Lepaskan: 2024-10-30 04:38:28
asal
901 orang telah melayarinya

How Can I Insert HTML into Go Templates Without Escaping?

Memasukkan HTML ke dalam Templat Go

Apabila bekerja dengan templat Go, adalah penting untuk mempertimbangkan cara anda memasukkan kandungan HTML untuk mengelakkan tingkah laku yang tidak dijangka. Contohnya, memasukkan rentetan yang mengandungi kod HTML boleh menyebabkan aksara yang tidak diingini melarikan diri, mengakibatkan output yang salah.

Untuk mengendalikan sisipan HTML dengan betul dalam templat Go, ikut garis panduan ini:

Pass HTML sebagai templat.HTML:

Daripada menghantar rentetan terus, bungkus kandungan HTML anda dalam templat.Jenis HTML. Ini memberitahu enjin templat untuk menganggap kandungan sebagai HTML mentah, menghalangnya daripada melepaskan aksara.

Contoh:

<code class="go">tpl := template.Must(template.New("main").Parse(`{{define "T"}}{{.Html}}{{.String}}{{end}}`))
tplVars := map[string]interface{} {
    "Html": template.HTML("<p>Paragraph</p>"),
    "String": "<p>Paragraph</p>",
}
tpl.ExecuteTemplate(os.Stdout, "T", tplVars)

//OUTPUT: <p>Paragraph</p>&amp;lt;p&amp;gt;Paragraph&amp;lt;/p&amp;gt;</code>
Salin selepas log masuk

Elak Melewati Rentetan:

Melalukan kandungan HTML sebagai rentetan boleh membawa kepada pelarian yang tidak diingini. Contohnya:

<code class="go">tpl := template.Must(template.New("main").Parse(`{{define "T"}}{{.Html}}<p>{{.String}}</p>{{end}}`))
tplVars := map[string]interface{} {
    "Html": "<p>Paragraph</p>",
    "String": "<p>Paragraph</p>",
}
tpl.ExecuteTemplate(os.Stdout, "T", tplVars)

//OUTPUT: <p>Paragraph</p>&amp;lt;p&amp;gt;Paragraph&amp;lt;/p&amp;gt;</code>
Salin selepas log masuk

Data JSON:

Jika anda memasukkan data JSON ke dalam templat anda, anda boleh menggunakan perpustakaan seperti pengekodan/json untuk mengekodnya sebagai rentetan. Kemudian, anda boleh menghantar rentetan yang dikodkan ke templat dan menyahkodnya dalam templat menggunakan fungsi templat json.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan HTML ke dalam Templat Go Tanpa Melarikan Diri?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!