#html #convert-html #character #escaping

entities

Provides the raw data needed to convert to and from HTML entities

6 releases (2 stable)

Uses old Rust 2015

1.0.2-rc.1 Apr 10, 2023
1.0.1 Feb 9, 2018
1.0.0 Dec 5, 2016
0.3.0 Dec 4, 2016
0.1.0 Dec 3, 2016

#75 in Text processing

Download history 7457/week @ 2023-12-04 7474/week @ 2023-12-11 6178/week @ 2023-12-18 4455/week @ 2023-12-25 6770/week @ 2024-01-01 8591/week @ 2024-01-08 9362/week @ 2024-01-15 9761/week @ 2024-01-22 10991/week @ 2024-01-29 10062/week @ 2024-02-05 9372/week @ 2024-02-12 8187/week @ 2024-02-19 9513/week @ 2024-02-26 10918/week @ 2024-03-04 8583/week @ 2024-03-11 7721/week @ 2024-03-18

37,354 downloads per month
Used in 179 crates (7 directly)

MIT license

280KB
11K SLoC

entities Build status Crates.io

Provides the raw data needed to convert to and from HTML entities.

Basic Usage

use entities::ENTITIES;

fn main() {
    let entity = ENTITIES
        .iter()
        .find(|e| e.entity == ">")
        .unwrap();

    assert_eq!(entity.characters, ">");
    assert_eq!(entity.entity, ">");
}

There isn't a 1-to-1 mapping of entities to "characters" which is why this crate provides a flat array rather than a map—the best way to map the entities depends on the problem you're trying to solve.

If you want to create a mapping structure you can make one using static str slices to reuse the statically allocated strings from this crate e.g.

fn make_mapping() -> HashMap<&'static str, &'static str> {
    let mut mapping = HashMap::new();
    mapping.insert(ENTITIES[0].entity, ENTITIES[0].characters);
    mapping
}

Documentation

https://docs.rs/entities

No runtime deps