Crate entities

Source
Expand description

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

extern crate entities;
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
}

Data was generated from https://www.w3.org/TR/html5/entities.json

Structs§

Entity
Represents an entry in the array of entity definitions.

Enums§

Codepoints
The unicode codepoint(s) for the “character” an entity is encoding.

Statics§

ENTITIES
The static constant array of entity definitions.