#html #paragraph #br #regex #html-text #wpautop #autop

html-auto-p

此库提供类似于 Wordpress 中的 wpautop 的功能。它使用一组正则表达式替换,用于识别使用换行符格式化的文本,并将双换行符替换为 HTML 段落标签。

10 个版本

0.2.4 2023年9月11日
0.2.3 2022年11月2日
0.2.2 2022年3月17日
0.2.1 2021年4月21日
0.1.4 2020年8月2日

#432文本处理

MIT 许可证

24KB
422

HTML 自动 <p>

CI

此库提供类似于 Wordpress 中的 wpautop 的功能。它使用一组正则表达式替换,用于识别使用换行符格式化的文本,并将双换行符替换为 HTML 段落标签。

熟悉 HTML 的人可能会直接编写纯 HTML,而不是使用 TinyMCE 或 Gutenberg 等编辑器。然而,手动在 HTML 中添加换行符和段落需要花费时间。Wordpress 提供了一个方便的功能 wpautop,可以将双换行符替换为段落元素 (<p>) 并将剩余的换行符转换为 <br> 元素。

此库中的 auto_p 函数可以像 wpautop 一样使用。

use html_auto_p::*;

assert_eq!("<p>Hello world!</p>", auto_p("Hello world!", Options::new()));
assert_eq!("<p>Line 1<br>\nLine 2</p>", auto_p("Line 1\nLine 2", Options::new().br(true)));
assert_eq!("<p>Line 1<br>\nLine 2</p>", auto_p("Line 1<br>\nLine 2", Options::new().br(true)));
assert_eq!("<p>Paragraph 1</p>\n<p>Paragraph 2</p>", auto_p("Paragraph 1\n\nParagraph 2", Options::new()));
assert_eq!("<pre>Line 1<br>\nLine 2</pre>", auto_p("<pre>Line 1<br>\nLine 2</pre>", Options::new().br(true)));
assert_eq!("<pre>Line 1&lt;br&gt;\nLine 2</pre>", auto_p("<pre>Line 1<br>\nLine 2</pre>", Options::new().br(true).esc_pre(true)));
assert_eq!("<pre>Line 1\nLine 2</pre>", auto_p("<pre>\nLine 1\nLine 2\n</pre>", Options::new().remove_useless_newlines_in_pre(true)));

Onig 支持(替代,不稳定)

要使用 onig 包,请启用 onig 功能。

[dependencies.html-auto-p]
version = "*"
features = ["onig"]

Crates.io

https://crates.io/crates/html-auto-p

文档

https://docs.rs/html-auto-p

许可证

MIT

依赖关系

~2.2–3.5MB
~71K SLoC