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§

  • Represents an entry in the array of entity definitions.

Enums§

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

Statics§

  • The static constant array of entity definitions.