#html #readability #cleanup #abbreviation #cleaning #up #tags

readability-text-cleanup

使用Mozilla的Readability算法从HTML中清理文本的Rust库

1个稳定版本

1.0.0 2024年3月17日

869文本处理

MITGPL-3.0+

26KB
398

可读性文本清理

这是一个Rust库,旨在通过清理HTML内容、转义HTML实体、替换缩写词并将文本分割成段落来提高文本的可读性。它利用Rust的强大功能进行高效的文本处理,旨在为准备文本进行进一步分析或显示提供全面的解决方案。此外,它还编译为WebAssembly (Wasm) 并发布到npm,使其可用于Node.js环境。

特性

  • HTML清理:删除HTML标签和实体,确保文本不包含任何HTML格式。
  • HTML实体转义:将HTML实体(例如,& 转换为其对应的字符。
  • 缩写词替换:将常见的缩写词替换为其全称,以提高可读性。
  • 文本分段:将文本分割成段落,使其更容易处理和分析。
  • 可定制:提供一系列功能,以满足特定的文本处理需求,从简单的HTML标签删除到更复杂的句子分割和修复。
  • WebAssembly兼容性:编译为Wasm,适用于Web和Node.js环境。

入门

要在Rust项目中使用此库,请将其添加到您的 Cargo.toml 文件中的依赖项

[dependencies]
readability-text-cleanup = "0.1.0" # Use the latest version

对于Node.js项目,您可以安装npm包

npm install readability-text-cleanup

用法

Rust

以下是一个基本示例,说明如何在Rust中使用此库准备文本

use readability_text_cleanup_rs::prepare_text;

fn main() {
    let html_content = r#"<p>This is a <strong>sample</strong> HTML content.</p>"#;
    let cleaned_text = prepare_text(html_content);
    println!("{}", cleaned_text);
}

这将输出

This is a sample HTML content.

Node.js

要在Node.js项目中使用此库,您可以导入它并如下使用

const { prepareText } = require('readability-text-cleanup');

const htmlContent = '<p>This is a <strong>sample</strong> HTML content.</p>';
const cleanedText = prepareText(htmlContent);
console.log(cleanedText);

这将输出

This is a sample HTML content.

许可证

本项目采用MIT许可证。

致谢

  • 用于HTML到Markdown转换的 html2md 库。
  • 用于强大文本处理的 regex 库。
  • 用于高级文本分段的 katana 模块。

依赖项

~6–14MB
~163K SLoC