ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • URL 찾는 정규표현식 RegExp
    Actionscript 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
Designed by Tistory.