Thanks a lot for your input guys. Nice example Andriy, but the viewsource link is dead.
I think I found the simplest way of doing this: setFormatOfRange() It basically changes the format (background/foreground) of a range of characters in a RichEditableText component. So all I have to do is (from inside RichEditableText): var highlightFormat:TextLayoutFormat = new TextLayoutFormat(); highlightFormat.backgroundColor = 0xffee66; var keywordsArray:Array = model.keywords.toLowerCase().split(' '); var indexOfKeyword:int = 0; for each (var currentKeyword:String in keywordsArray) { while((indexOfKeyword = this.text.toLowerCase().indexOf(currentKeyword, indexOfKeyword)) >= 0) { this.setFormatOfRange(highlightFormat, indexOfKeyword, indexOfKeyword + currentKeyword.length); indexOfKeyword++; } } Clean.