From c1b93b0bfe2d7c4568de26af85523f83e72293d4 Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Tue, 6 Oct 2009 00:08:25 +0300
Subject: Hide color codes from speech text

---
 src/utils/stringutils.cpp | 12 ++++++++++++
 src/utils/stringutils.h   |  8 ++++++++
 2 files changed, 20 insertions(+)

(limited to 'src/utils')

diff --git a/src/utils/stringutils.cpp b/src/utils/stringutils.cpp
index c9428974..64d928d6 100644
--- a/src/utils/stringutils.cpp
+++ b/src/utils/stringutils.cpp
@@ -105,3 +105,15 @@ std::string &removeBadChars(std::string &str)
 
     return str;
 }
+
+std::string removeColors(std::string msg)
+{
+    for (unsigned int f = 0; f < msg.length() - 2 && msg.length() > 2; f++)
+    {
+        while (msg.length() > f + 2 && msg.at(f) == '#' && msg.at(f + 1) == '#')
+        {
+            msg = msg.erase(f, 3);
+        }
+    }
+    return msg;
+}
diff --git a/src/utils/stringutils.h b/src/utils/stringutils.h
index 89d3d7e9..ae105c6c 100644
--- a/src/utils/stringutils.h
+++ b/src/utils/stringutils.h
@@ -92,4 +92,12 @@ std::string strprintf(char const *, ...)
  */
 std::string &removeBadChars(std::string &str);
 
+/**
+ * Removes colors from a string
+ *
+ * @param msg the string to remove the colors from
+ * @return string without colors
+ */
+std::string removeColors(std::string msg);
+
 #endif // UTILS_STRINGUTILS_H
-- 
cgit v1.2.3-70-g09d2