-
URL 찾는 정규표현식 RegExpActionscript 3.0/source 2012. 6. 1. 13:19
채팅 개발물 만들면서.
string 중에 url 을 찾아서
링크를 거는 것을 해야 했다.
정규 표현식 매번 하는데 왜케 헛갈리는지.
블러그에 적어두고 사용할 한다..import flash.text.TextFormat;
import flash.events.Event;btn.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler (e:Event){
var str:String = txt.text;
var pattern:RegExp = /https?:\/\/[-\w.]+(:\d+)?(\/([\w\/_.?=&]*)?)?/ig;
message.text = str;
var results:Array = str.match(pattern);
if(results.length){
for(var i:int ; i<results.length ; i++){
var frm:TextFormat = new TextFormat(null, null, 0x0066FF, null, null, true, results[i], "_blank");
var p:int = str.search(results[i]);
message.setTextFormat(frm,p,p+results[i].length);
}
}
}
코드는 위와 같다...형식 : /패턴/옵션
https?:\/\/ ==> http://, https:// 두개 모두 포함
[-\w.] ==> 호스트 ex blog.naver.com
(:\d+)? ==> 포트 번호 ex aurajs.kr:80
(\/([\w\/_.?=&]*)?)? ==> url 뒤에 붙는 값들 ex php?val=123&val2=456
i ==>문자열에서 대/소문자를 구분하지 않도록 지정
g ==> 둘 이상의 일치 항목을 찾습니다.
아래 플래시 샘플이 있으니 test 해보심.
왼족 textbox 에 내용을 입력하고. >> 버튼 누르면. 변환되서 나와요~~~
끝~~~~~~~~~~~~~~~~~~~~~~
'Actionscript 3.0 > source' 카테고리의 다른 글
[AIR] 로컬 IP 주소 (2) 2012.06.20 [FLASH] Font (0) 2012.06.01