Function lol_html::rewrite_str

source ·
pub fn rewrite_str<'h, 's>(
    html: &str,
    settings: impl Into<Settings<'h, 's>>
) -> Result<String, RewritingError>
Expand description

Rewrites given html string with the provided settings.

§Example

use lol_html::{rewrite_str, element, RewriteStrSettings};

let element_content_handlers = vec![
    // Rewrite insecure hyperlinks
    element!("a[href]", |el| {
        let href = el
            .get_attribute("href")
            .unwrap()
            .replace("http:", "https:");

         el.set_attribute("href", &href).unwrap();

         Ok(())
    })
];
let output = rewrite_str(
    r#"<div><a href="http://example.com"></a></div>"#,
    RewriteStrSettings {
        element_content_handlers,
        ..RewriteStrSettings::default()
    }
).unwrap();

assert_eq!(output, r#"<div><a href="https://example.com"></a></div>"#);