[−][src]Struct ammonia::Document
A sanitized HTML document.
The Document
type is an opaque struct representing an HTML fragment that was sanitized by
ammonia
. It can be converted to a String
or written to a Write
instance. This allows
users to avoid buffering the serialized representation to a String
when desired.
This type is opaque to insulate the caller from breaking changes in the html5ever
interface.
Note that this type wraps an html5ever
DOM tree. ammonia
does not support streaming, so
the complete fragment needs to be stored in memory during processing. Currently, Document
is backed by an html5ever::rcdom::Node
object.
Examples
use ammonia::Builder; let input = "<!-- comments will be stripped -->This is an Ammonia example."; let output = "This is an Ammonia example."; let document = Builder::new() .clean(input); assert_eq!(document.to_string(), output);
Methods
impl Document
[src]
pub fn to_string(&self) -> String
[src]
Serializes a Document
instance to a String
.
This method returns a String
with the sanitized HTML. This is the simplest way to use
ammonia
.
Examples
use ammonia::Builder; let input = "Some <style></style>HTML here"; let output = "Some HTML here"; let document = Builder::new() .clean(input); assert_eq!(document.to_string(), output);
pub fn write_to<W>(&self, writer: W) -> Result<()> where
W: Write,
[src]
W: Write,
Serializes a Document
instance to a writer.
This method writes the sanitized HTML to a Write
instance, avoiding a buffering step.
To avoid consuming the writer, a mutable reference can be passed, like in the example below.
Note that the in-memory representation of Document
is larger than the serialized
String
.
Examples
use ammonia::Builder; let input = "Some <style></style>HTML here"; let expected = b"Some HTML here"; let document = Builder::new() .clean(input); let mut sanitized = Vec::new(); document.write_to(&mut sanitized) .expect("Writing to a string should not fail (except on OOM)"); assert_eq!(sanitized, expected);
Trait Implementations
impl Clone for Document
[src]
fn clone(&self) -> Self
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl From<Document> for String
[src]
impl Debug for Document
[src]
impl Display for Document
[src]
Auto Trait Implementations
impl !Sync for Document
impl Unpin for Document
impl !Send for Document
impl !UnwindSafe for Document
impl !RefUnwindSafe for Document
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From<T> for T
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,