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
。