1个不稳定版本
使用旧Rust 2015
0.3.1 | 2017年4月2日 |
---|
753 在 Rust模式
519,958 每月下载量
在 213 个crate(直接使用48个)中使用
54KB
606 行
一个用于Rust的HTML实体编码库
示例使用
所有示例都假设存在 extern crate htmlescape;
和 use htmlescape::{这里的相关函数};
。
### 编码 htmlescape::encode_minimal()
使用最少的HTML实体集编码输入字符串。
let title = "Cats & dogs";
let tag = format!("<title>{}</title>", encode_minimal(title));
assert_eq!(tag.as_slice(), "<title>Cats & dogs</title>");
还有一个用于将字符串编码为HTML属性值的函数 htmlescape::encode_attribute()
。
### 解码 htmlescape::decode_html()
解码已编码的字符串,将HTML实体替换为相应的字符。支持命名、十六进制和十进制实体。返回一个 Result
值,要么是 Ok
中的解码字符串,要么是 Err
中的错误。
let encoded = "Cats & 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");
### 避免分配 两者编码和解码函数都提供了一种形式,它接受一个 Writer
作为输出而不是返回一个 String
。这些版本可以在返回的 String
只是打算写入一个 Writer
的情况下使用,以避免分配和复制。