diff options
Diffstat (limited to '')
-rw-r--r-- | src/util/string.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/util/string.cpp b/src/util/string.cpp index 2c4143c76..c8f528a77 100644 --- a/src/util/string.cpp +++ b/src/util/string.cpp @@ -729,6 +729,33 @@ static bool parseNamedColorString(const std::string &value, video::SColor &color return true; } +std::wstring removeChatEscapes(const std::wstring &s) { + std::wstring output; + size_t i = 0; + while (i < s.length()) { + if (s[i] == L'\v') { + ++i; + if (i == s.length()) continue; + if (s[i] == L'(') { + ++i; + while (i < s.length() && s[i] != L')') { + if (s[i] == L'\\') { + ++i; + } + ++i; + } + ++i; + } else { + ++i; + } + continue; + } + output += s[i]; + ++i; + } + return output; +} + void str_replace(std::string &str, char from, char to) { std::replace(str.begin(), str.end(), from, to); |