Crate entities [] [src]

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.