Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function filterMsg(tempM:String):ParagraphElement {
- var p:ParagraphElement = new ParagraphElement();
- var found:Array = new Array();
- var trueIndex:int;
- for (var i:String in emoticons) { // Loop through list of patterns, save locations of collisions
- var m:String = tempM;
- trueIndex = 0;
- while (m.indexOf(emoticons[i].pattern) >= 0) {
- var o:ObjectProxy = new ObjectProxy();
- o.entry = m.indexOf(emoticons[i].pattern) + trueIndex;
- o.pattern = emoticons[i].pattern;
- found.push(o);
- m = m.slice(m.indexOf(emoticons[i].pattern) + o.pattern.length, m.length - 1);
- trueIndex = o.entry + o.pattern.length;
- }
- }
- found.sortOn("entry", Array.NUMERIC);
- var pos:int = 0;
- var s:SpanElement;
- for (var f:String in found) { // Parsing message based on filters found in string
- if((found[f].entry - pos) > 0) {
- s = newSpanElement(tempM.slice(pos, found[f].entry));
- p.addChild(s);
- }
- var img:InlineGraphicElement = newInlineGraphicElement(mediaUrl + getEmoticonByPattern(found[f].pattern).url);
- pos = found[f].entry + found[f].pattern.length;
- p.addChild(img);
- }
- if (pos < tempM.length - 1) { // Adding any remaining text to span
- s = newSpanElement(tempM.slice(pos, tempM.length));
- p.addChild(s);
- }
- return p;
- }
Add Comment
Please, Sign In to add comment