Skip to content

Commit b09d7d9

Browse files
committed
html en/decode
1 parent 9a49544 commit b09d7d9

3 files changed

Lines changed: 26 additions & 0 deletions

File tree

Cargo.lock

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pest_derive = "2.5.7"
1616
thiserror = "1.0.40"
1717
serde = { version = "1.0.159", features = ["derive"] }
1818
serde_json = "1.0.95"
19+
html-escape = "0.2"
1920
ownable = "1.0.0"
2021

2122
[features]

src/dom/html.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use html_escape::{decode_html_entities, encode_text};
12
use ownable::{IntoOwned, ToBorrowed, ToOwned};
23
use serde::Serialize;
34
use std::borrow::{Borrow, Cow};
@@ -60,6 +61,14 @@ impl<'a> Text<'a> {
6061
pub fn as_str(&self) -> &str {
6162
self.0.borrow()
6263
}
64+
65+
pub fn decode(&self) -> Cow<'_, str> {
66+
decode_html_entities(self.as_str())
67+
}
68+
69+
pub fn encode(s: &'a str) -> Self {
70+
Self(encode_text(s))
71+
}
6372
}
6473

6574
impl Debug for Text<'_> {

0 commit comments

Comments
 (0)