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的任何贡献,都将双重许可如上所述,没有任何附加条款或条件。