From 67cdcc2e12118becb823e20a40cc2687f2b8425a Mon Sep 17 00:00:00 2001 From: Adam Carpenter <53hornet@gmail.com> Date: Wed, 27 Mar 2019 15:32:37 -0400 Subject: Started Rust in Action MEAP. --- meap/meap-code/ch1/ch1-escape-html.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 meap/meap-code/ch1/ch1-escape-html.rs (limited to 'meap/meap-code/ch1/ch1-escape-html.rs') diff --git a/meap/meap-code/ch1/ch1-escape-html.rs b/meap/meap-code/ch1/ch1-escape-html.rs new file mode 100644 index 0000000..7b61232 --- /dev/null +++ b/meap/meap-code/ch1/ch1-escape-html.rs @@ -0,0 +1,22 @@ +fn escape_html(maybe_html: &str) -> String { + let mut out = String::with_capacity(maybe_html.len()); + + for c in maybe_html.chars() { + match c { + '<' => out.push_str("<"), + '>' => out.push_str(">"), + '&' => out.push_str("&"), + '\'' => out.push_str("'"), + '"' => out.push_str("""), + _ => out.push(c), + }; + } + + out +} + +fn main() { + let html = "
\"Hello, World!\"
"; + let escaped_html = escape_html(html); + println!("{}", escaped_html); +} -- cgit v1.2.3