الهروب من HTML وJSON في قوالب Go
في قوالب Go، من الضروري التعامل مع HTML وJSON بشكل صحيح لمنع الهروب غير المقصود. خذ بعين الاعتبار القالب التالي:
{{ .SomeOtherHTML }}
إذا كنت تتوقع أن يكون الإخراج ببساطة
<the_other_html/<
حل الهروب من HTML
لمنع ذلك، يجب عليك تمرير كود HTML كقالب. نوع HTML بدلاً من سلسلة. template.HTML هو نوع خاص يأمر Go بعدم الهروب من محتواه. على سبيل المثال:
tpl := template.Must(template.New("main").Parse(`{{define "T"}}{{.Html}}{{.String}}{{end}}`))
tplVars := map[string]interface{} {
"Html": template.HTML("Paragraph
"),
"String": "Paragraph
",
}
tpl.ExecuteTemplate(os.Stdout, "T", tplVars)
حل JSON Escaping
إذا كنت بحاجة أيضًا إلى عرض JSON، فيجب عليك استخدام json. وظيفة مارشال لتحويلها إلى صفيف بايت. وهذا يمنع Go من الهروب من محتوى JSON. على سبيل المثال:
jsonBytes, _ := json.Marshal(data)
outputString := string(jsonBytes)
من خلال اتباع أفضل الممارسات هذه، يمكنك ضمان الهروب الصحيح من HTML وJSON في قوالب Go الخاصة بك، مما يؤدي إلى الإخراج المطلوب دون تعديلات غير مقصودة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3