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 在 文本处理
24KB
422 行
HTML 自动 <p>
此库提供类似于 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<br>\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
文档
许可证
依赖关系
~2.2–3.5MB
~71K SLoC