mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
encoding.html: add escape() function (#16666)
This commit is contained in:
20
vlib/encoding/html/escape.v
Normal file
20
vlib/encoding/html/escape.v
Normal file
@ -0,0 +1,20 @@
|
||||
module html
|
||||
|
||||
[params]
|
||||
pub struct EscapeConfig {
|
||||
quote bool = true
|
||||
}
|
||||
|
||||
// escape converts special characters in the input, specifically "<", ">", and "&"
|
||||
// to HTML-safe sequences. If `quote` is set to true (which is default), quotes in
|
||||
// HTML will also be translated. Both double and single quotes will be affected.
|
||||
// **Note:** escape() supports funky accents by doing nothing about them. V's UTF-8
|
||||
// support through `string` is robust enough to deal with these cases.
|
||||
pub fn escape(input string, config EscapeConfig) string {
|
||||
tag_free_input := input.replace_each(['&', '&', '<', '<', '>', '>'])
|
||||
return if config.quote {
|
||||
tag_free_input.replace_each(['"', '"', "'", '''])
|
||||
} else {
|
||||
tag_free_input
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user