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!