minify-html/rust/main/src/parse/textarea.rs

20 lines
657 B
Rust
Raw Normal View History

use crate::ast::{NodeData, RcdataContentType};
2021-08-08 04:46:51 -04:00
use crate::entity::decode::decode_entities;
2021-08-05 22:07:27 -04:00
use crate::parse::content::ParsedContent;
2021-08-06 02:19:36 -04:00
use crate::parse::Code;
use crate::tag::TAG_TEXTAREA_END;
2021-08-05 22:07:27 -04:00
2021-08-06 03:54:23 -04:00
pub fn parse_textarea_content(code: &mut Code) -> ParsedContent {
let (len, closing_tag_omitted) = match TAG_TEXTAREA_END.find(code.as_slice()) {
2021-08-05 22:07:27 -04:00
Some(m) => (m.start(), false),
None => (code.rem(), true),
};
ParsedContent {
closing_tag_omitted,
children: vec![NodeData::RcdataContent {
typ: RcdataContentType::Textarea,
text: decode_entities(code.slice_and_shift(len), false),
2021-08-06 02:19:36 -04:00
}],
2021-08-05 22:07:27 -04:00
}
}