Skip to main content

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('<', "&lt;")
16		.replace('>', "&gt;")
17		.replace('"', "&quot;")
18		.replace('\'', "&#x27;")
19		.replace('`', "&#x60;")
20}