[JAVA] 정규식표현을 사용한 URL에 자동링크
게시판을 작성하다보면
작성자가 http://~~ 이런식으로 글을 입력한후
글내용 보기를 하면 http://로 시작된 부분은 링크가
자동으로 걸리게 하는 소스입니다.
간단하지만 게시판등에서 유용하게 사용하실 수 있으실 겁니다.
import java.util.regex.*;
public class LinkTest {
/** 사용제한
* 링크는 http:// 로 시작한다
* 한글링크는 안된다
*/
public static void main(String[] args) {
/** 아래과 같이 사용하여되 되지만 만약 작성자가 직접 태그를 이용하여
* 링크를 거는경우 링크가 이상하게 잡히는 경우를 막기위해
* < 값은 자동링크생성에서 제외하였습니다.
* 확인하고 싶으신분은 아래 regex 를 사용해서 링크를 생성해보세요
**/
//String regex = "([\\p{Alnum}]+)://([a-z0-9.\\p{Punct}\\_]+)";
String regex = "([\\p{Alnum}]+)://([a-z0-9.\\-&/%=?:@#$(),.+;~\\_]+)";
String strHTML = "한글사랑 http://www.naver.com test-text";
Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(strHTML);
String s = m.replaceAll("<a href='http://$2' target=_blank>http://$2</a>");
System.out.println("origin string : "+strHTML);
System.out.println("link string : "+s);
}
}
아래는 관련 댓글들입니다. 댓글수: 1
