+ public function tokenize() {
+ return TokenizedMessage::fromLog($this);
+ }
+
+ public function getTextWithoutEmotes() {
+ $text = $this->text_content;
+ if (isset($this->tags['emotes']) && !empty($this->tags['emotes'])) {
+ $emotes = explode('/', $this->tags['emotes']);
+ foreach ($emotes as $emote) {
+ $set = explode(':', $emote);
+ $positions = explode(',', $set[1]);
+ foreach ($positions as $position) {
+ $coords = explode('-', $position);
+ $text = mb_substr($text, 0, $coords[0]).str_repeat(' ', $coords[1] - $coords[0] + 1).mb_substr($text, $coords[1] + 1);
+ }
+ }
+ }
+ return trim(preg_replace('/\s+/', ' ', $text));
+ }
+