1 个不稳定版本
使用旧的Rust 2015
| 0.1.0 | 2018年2月26日 |
|---|
#1784 in 文本处理
55KB
729 行
一个用于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>");
还有一个 htmlescape::encode_attribute() 函数用于编码作为HTML属性值使用的字符串。
###解码 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。