I have text that I want to link (identify URLs and convert them to HTML links). The text can be multi-line and contain multiple URLs, as shown below.
My current ActionScript code is as follows
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
private function init():void {
var str:String = "@stack the website for google is http://www.google.com and gmail is http://gmail.com";
txtStatus.htmlText = linkify(str);
}
private function linkify(texty:String):String {
var pattern:RegExp = /[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/g;
var match:String = pattern.exec(texty);
return texty.replace(pattern,'<a href="' + match + '">' +
match + '</a>');
}
]]>
</mx:Script>
The problem with the above script is that it recognizes the first match and uses it. Also how to do it for @?
Any help is appreciated.
source
share