9 unstable releases

0.13.0 Mar 27, 2025
0.13.0-pre.0 Mar 21, 2025
0.10.3 Feb 16, 2022
0.10.2 Dec 21, 2021
0.1.0 Nov 7, 2018

#16 in No standard library

Download history 147249/week @ 2025-01-07 150413/week @ 2025-01-14 123199/week @ 2025-01-21 126416/week @ 2025-01-28 159888/week @ 2025-02-04 150924/week @ 2025-02-11 157091/week @ 2025-02-18 146522/week @ 2025-02-25 146780/week @ 2025-03-04 148882/week @ 2025-03-11 152020/week @ 2025-03-18 140366/week @ 2025-03-25 129650/week @ 2025-04-01 133135/week @ 2025-04-08 130607/week @ 2025-04-15 124829/week @ 2025-04-22

542,626 downloads per month
Used in 312 crates (15 directly)

MIT/Apache

17KB
273 lines

askama_escape: HTML escaping, extracted from Askama

Crates.io GitHub Workflow Status docs.rs

Useful if you don't need a template engine, but if you need to escape a text for HTML or XML.

This implementation escapes '"', '&', '\'', '<' and '>'.

Example

use askama_escape::{escape, escape_html, escape_html_char, Html};

assert_eq!(
    escape("<script>alert('Hello & bye!')</script>", Html).to_string(),
    "&#60;script&#62;alert(&#39;Hello &#38; bye!&#39;)&#60;/script&#62;",
);

let mut dest = String::new();
escape_html(&mut dest, "<script>alert('Hello & bye!')</script>").unwrap();
assert_eq!(
    dest,
    "&#60;script&#62;alert(&#39;Hello &#38; bye!&#39;)&#60;/script&#62;",
);

let mut dest = String::new();
escape_html_char(&mut dest, '&').unwrap();
assert_eq!(dest, "&#38;");

No runtime deps