tuwunel_core/utils/html.rs
1//! HTML text escaping utilities.
2//!
3//! The helper replaces six markup-sensitive ASCII characters with entity
4//! references. Existing entity references are escaped again because ampersands
5//! are processed first.
6
7/// Escapes HTML-sensitive ASCII characters in a string.
8///
9/// Ampersands, angle brackets, both quote characters, and backticks are
10/// replaced with entity references. Existing entity references are escaped
11/// again.
12#[must_use]
13pub fn escape(s: &str) -> String {
14 s.replace('&', "&")
15 .replace('<', "<")
16 .replace('>', ">")
17 .replace('"', """)
18 .replace('\'', "'")
19 .replace('`', "`")
20}