Skip to content
A HTML entity encoding library for Rust
Branch: master
Clone or download
Pull request Compare This branch is 7 commits ahead of veddan:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benches
src
tests
.gitignore
.travis.yml
Cargo.toml
README.md
moonstone-short.txt

README.md

A HTML entity encoding library for Rust

Build Status

Example usage

All example assume a extern crate htmlescape; and use htmlescape::{relevant functions here}; is present.

###Encoding htmlescape::encode_minimal() encodes an input string using a minimal set of HTML entities.

let title = "Cats & dogs";
let tag = format!("<title>{}</title>", encode_minimal(title));
assert_eq!(tag.as_slice(), "<title>Cats &amp; dogs</title>");

There is also a htmlescape::encode_attribute() function for encoding strings that are to be used as html attribute values.

###Decoding htmlescape::decode_html() decodes an encoded string, replacing HTML entities with the corresponding characters. Named, hex, and decimal entities are supported. A Result value is returned, with either the decoded string in Ok, or an error in Err.

let encoded = "Cats&#x20;&amp;&#32;dogs";
let decoded = match decode_html(encoded) {
  Err(reason) => panic!("Error {:?} at character {}", reason.kind, reason.position),
  Ok(s) => s
};
assert_eq!(decoded.as_slice(), "Cats & dogs");

###Avoiding allocations Both the encoding and decoding functions are available in forms that take a Writer for output rather than returning an String. These version can be used to avoid allocation and copying if the returned String was just going to be written to a Writer anyway.

You can’t perform that action at this time.