Korrekte Anzeige von Zeilenumbrüchen in HTML-Vorlagen
Beim Laden von Textdateien mit Zeilenumbrüchen in HTML-Vorlagen stoßen Entwickler häufig auf ein Problem, bei dem diese Zeilenumbrüche maskiert werden zu „
“ anstatt als Zeilenumbrüche angezeigt zu werden. Dies kann für die Aufrechterhaltung der korrekten Formatierung und Lesbarkeit problematisch sein.
Um dieser Herausforderung zu begegnen, können Sie Ihren Text zunächst mit template.HTMLEscape() bereinigen, um alle potenziellen XSS-Schwachstellen zu beseitigen. Anschließend können Sie die Zeilenumbrüche („n“) durch „
“ ersetzen. mit strings.Replace(). Der geänderte Text sollte dann in template.HTML() gekapselt werden, um ihn als vertrauenswürdiges und sicheres HTML-Fragment zu kennzeichnen.
Eine Beispielimplementierung in Go demonstriert diesen Ansatz:
<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>
Dieser Ansatz stellt sicher, dass die Zeilenumbrüche korrekt als Zeilenumbrüche im Browser angezeigt werden und gleichzeitig die Integrität des gerenderten HTML-Inhalts gewahrt bleibt.
Das obige ist der detaillierte Inhalt vonWie werden Zeilenumbrüche in HTML-Vorlagen korrekt angezeigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!