aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Plugin.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2020-09-21 03:49:17 +0200
committerdec05eba <dec05eba@protonmail.com>2020-09-21 03:49:17 +0200
commit40e0f8f5d8c3e480f01a2d71b6a493247adcb77f (patch)
treeccc3c0a7c82be8f5dbe86dfc712cce3da7e2ad59 /src/plugins/Plugin.cpp
parent5c72463c029804c85479d2c4426397d932c88ee1 (diff)
Initial matrix support
Diffstat (limited to 'src/plugins/Plugin.cpp')
-rw-r--r--src/plugins/Plugin.cpp37
1 files changed, 28 insertions, 9 deletions
diff --git a/src/plugins/Plugin.cpp b/src/plugins/Plugin.cpp
index 8690964..f23175c 100644
--- a/src/plugins/Plugin.cpp
+++ b/src/plugins/Plugin.cpp
@@ -29,22 +29,41 @@ namespace QuickMedia {
}
struct HtmlEscapeSequence {
+ char unescape_char;
std::string escape_sequence;
- std::string unescaped_str;
};
- void html_unescape_sequences(std::string &str) {
+ void html_escape_sequences(std::string &str) {
const std::array<HtmlEscapeSequence, 6> escape_sequences = {
- HtmlEscapeSequence { "&quot;", "\"" },
- HtmlEscapeSequence { "&#039;", "'" },
- HtmlEscapeSequence { "&#39;", "'" },
- HtmlEscapeSequence { "&lt;", "<" },
- HtmlEscapeSequence { "&gt;", ">" },
- HtmlEscapeSequence { "&amp;", "&" } // This should be last, to not accidentally replace a new sequence caused by replacing this
+ HtmlEscapeSequence { '"', "&quot;" },
+ HtmlEscapeSequence { '\'', "&#39;" },
+ HtmlEscapeSequence { '<', "&lt;" },
+ HtmlEscapeSequence { '>', "&gt;" },
+ HtmlEscapeSequence { '&', "&amp;" } // This should be last, to not accidentally replace a new sequence caused by replacing this
};
for(const HtmlEscapeSequence &escape_sequence : escape_sequences) {
- string_replace_all(str, escape_sequence.escape_sequence, escape_sequence.unescaped_str);
+ string_replace_all(str, escape_sequence.unescape_char, escape_sequence.escape_sequence);
+ }
+ }
+
+ struct HtmlUnescapeSequence {
+ std::string escape_sequence;
+ std::string unescaped_str;
+ };
+
+ void html_unescape_sequences(std::string &str) {
+ const std::array<HtmlUnescapeSequence, 6> unescape_sequences = {
+ HtmlUnescapeSequence { "&quot;", "\"" },
+ HtmlUnescapeSequence { "&#039;", "'" },
+ HtmlUnescapeSequence { "&#39;", "'" },
+ HtmlUnescapeSequence { "&lt;", "<" },
+ HtmlUnescapeSequence { "&gt;", ">" },
+ HtmlUnescapeSequence { "&amp;", "&" } // This should be last, to not accidentally replace a new sequence caused by replacing this
+ };
+
+ for(const HtmlUnescapeSequence &unescape_sequence : unescape_sequences) {
+ string_replace_all(str, unescape_sequence.escape_sequence, unescape_sequence.unescaped_str);
}
}