Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Memaparkan Baris Baharu dengan Betul dalam Templat HTML?

Bagaimana untuk Memaparkan Baris Baharu dengan Betul dalam Templat HTML?

Susan Sarandon
Susan Sarandonasal
2024-10-31 12:38:01940semak imbas

How to Display Newlines Correctly in HTML Templates?

Memaparkan Baris Baharu dengan Betul dalam Templat HTML

Apabila memuatkan fail teks dengan baris baharu ke dalam templat HTML, pembangun sering menghadapi masalah apabila baris baharu ini terlepas kepada "
" bukannya dipaparkan sebagai pemisah baris. Ini boleh menjadi masalah untuk mengekalkan pemformatan dan kebolehbacaan yang betul.

Untuk menangani cabaran ini, anda boleh membersihkan teks anda terlebih dahulu menggunakan templat.HTMLEscape() untuk mengalih keluar sebarang kemungkinan kelemahan XSS. Selepas itu, anda boleh menggantikan baris baharu ("n") dengan "
" menggunakan rentetan.Ganti(). Teks yang diubah suai kemudiannya hendaklah dirangkumkan dalam templat.HTML() untuk menandakannya sebagai serpihan HTML yang dipercayai dan selamat.

Contoh pelaksanaan dalam Go menunjukkan pendekatan ini:

<code class="go">package main

import (
    "html/template"
    "os"
    "strings"
)

const page = `<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    <p>{{.}}</p>
  </body>
</html>`

const text = `first line
<script>dangerous</script>
last line`

func main() {
    t := template.Must(template.New("page").Parse(page))
    safe := template.HTMLEscapeString(text)
    safe = strings.Replace(safe, "\n", "<br>", -1)
    t.Execute(os.Stdout, template.HTML(safe)) // template.HTML encapsulates a known safe HTML document fragment.
}</code>

Pendekatan ini memastikan bahawa baris baharu dipaparkan dengan betul sebagai pemisah baris dalam penyemak imbas, sambil mengekalkan integriti kandungan HTML yang diberikan.

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Baris Baharu dengan Betul dalam Templat HTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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