줄바꿈을 사용하여 html/템플릿에서 이스케이프 문제 극복
HTML 템플릿에서 n으로 인코딩된 줄바꿈은 HTML 엔터티(< br>) 실제 줄 바꿈이 아닌 이는 n 문자가 신뢰할 수 있는 데이터의 일부로 허용되지 않고 템플릿에 의해 이스케이프될 때 발생합니다.
해결책: 삭제 및 사전 이스케이프
이 문제를 해결하려면, 다음 단계를 따르세요.
구현 예:
다음 코드는 프로세스를 보여줍니다.
<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)) }</code>
이 코드는 텍스트를 삭제하고 개행 문자를
로 대체한 후 사전 이스케이프 처리된 데이터로 템플릿에 전달합니다. 렌더링된 결과는 문제를 피하지 않고 의도한 대로 줄 바꿈을 올바르게 표시합니다.
위 내용은 HTML 템플릿에서 개행 문자를 올바르게 렌더링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!