2个版本
0.1.1 | 2021年5月10日 |
---|---|
0.1.0 | 2019年8月16日 |
1400 在 解析器实现 中排名
每月下载量 2,007
在 14 个 仓库中使用 (直接使用 11 个)
57KB
426 行
Rust的HTML实体编码库
示例用法
所有示例都假设存在 extern crate escaper;
和 use escaper::{此处相关的函数};
。
编码
escaper::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属性值的函数 escaper::encode_attribute()
。
解码
escaper::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
。
许可证
MIT 或 Apache 2.0
贡献
除非您明确表示,否则根据Apache-2.0许可证定义的,您有意提交给pgp的任何贡献,都将双重许可如上所述,没有任何附加条款或条件。