Struct lol_html::html_content::Comment
source · pub struct Comment<'i> { /* private fields */ }Expand description
An HTML comment rewritable unit.
Exposes API for examination and modification of a parsed HTML comment.
Implementations§
source§impl<'i> Comment<'i>
impl<'i> Comment<'i>
sourcepub fn set_text(&mut self, text: &str) -> Result<(), CommentTextError>
pub fn set_text(&mut self, text: &str) -> Result<(), CommentTextError>
Sets the text of the comment.
sourcepub fn before(&mut self, content: &str, content_type: ContentType)
pub fn before(&mut self, content: &str, content_type: ContentType)
Inserts content before the comment.
Consequent calls to the method append content to the previously inserted content.
Example
use lol_html::{rewrite_str, comments, RewriteStrSettings};
use lol_html::html_content::ContentType;
let html = rewrite_str(
r#"<div><!-- foo --></div>"#,
RewriteStrSettings {
element_content_handlers: vec![
comments!("div", |c| {
c.before("<!-- 42 -->", ContentType::Html);
c.before("bar", ContentType::Text);
Ok(())
})
],
..RewriteStrSettings::default()
}
).unwrap();
assert_eq!(html, r#"<div><!-- 42 -->bar<!-- foo --></div>"#);sourcepub fn after(&mut self, content: &str, content_type: ContentType)
pub fn after(&mut self, content: &str, content_type: ContentType)
Inserts content after the comment.
Consequent calls to the method prepend content to the previously inserted content.
Example
use lol_html::{rewrite_str, comments, RewriteStrSettings};
use lol_html::html_content::ContentType;
let html = rewrite_str(
r#"<div><!-- foo --></div>"#,
RewriteStrSettings {
element_content_handlers: vec![
comments!("div", |c| {
c.after("Bar", ContentType::Text);
c.after("Qux", ContentType::Text);
Ok(())
})
],
..RewriteStrSettings::default()
}
).unwrap();
assert_eq!(html, r#"<div><!-- foo -->QuxBar</div>"#);sourcepub fn replace(&mut self, content: &str, content_type: ContentType)
pub fn replace(&mut self, content: &str, content_type: ContentType)
Replaces the comment with the content.
Consequent calls to the method overwrite previous replacement content.
Example
use lol_html::{rewrite_str, comments, RewriteStrSettings};
use lol_html::html_content::ContentType;
let html = rewrite_str(
r#"<div><!-- foo --></div>"#,
RewriteStrSettings {
element_content_handlers: vec![
comments!("div", |c| {
c.replace("Bar", ContentType::Text);
c.replace("Qux", ContentType::Text);
Ok(())
})
],
..RewriteStrSettings::default()
}
).unwrap();
assert_eq!(html, r#"<div>Qux</div>"#);