use crate::helpers::{id, re};
use regex::Captures;
use std::collections::HashMap;
pub fn hide(html: &mut String) -> HashMap<i32, String> {
let mut ignore: HashMap<i32, String> = HashMap::new();
re::parse(html, re::from(re::INLINE_SCRIPT), | capture: Captures | {
let mut id: i32 = id::random_10_digit();
while ignore.contains_key(&id) {
id = id::random_10_digit();
}
let text_id: String = format!("?{}?", &id);
ignore.insert(id, capture[0].to_string());
text_id
});
re::parse(html, re::from(re::INLINE_STYLE), | capture: Captures | {
let mut id: i32 = id::random_10_digit();
while ignore.contains_key(&id) {
id = id::random_10_digit();
}
let text_id: String = format!("?{}?", &id);
ignore.insert(id, capture[0].to_string());
text_id
});
ignore
}
pub fn show(html: &mut String, ignore: HashMap<i32, String>) {
for (id, original) in ignore {
*html = html.replace(&format!("?{}?", id), &original);
}
}