v2 / vlib / x / templating / dtm / escape_html_strings_in_templates.v
30 lines · 28 sloc · 456 bytes · 3eff1b83cf719199d0ff6f63524da63c9294ffd5
Raw
1module dtm
2
3import strings
4
5fn filter(s string) string {
6 mut escaped := strings.new_builder(s.len)
7 for i := 0; i < s.len; i++ {
8 match s[i] {
9 `&` {
10 escaped.write_string('&')
11 }
12 `<` {
13 escaped.write_string('<')
14 }
15 `>` {
16 escaped.write_string('>')
17 }
18 `"` {
19 escaped.write_string('"')
20 }
21 `'` {
22 escaped.write_string(''')
23 }
24 else {
25 escaped.write_u8(s[i])
26 }
27 }
28 }
29 return escaped.str()
30}
31