url을 a 태그로 변환하기
딱히 좋은 방법은 아닌거 같긴 한데 급할때는 최선인듯 하다.
function parseUrl(orgnTxt) {
var rplcdTxt, rplcdPttrn1, rplcdPttrn2, rplcdPttrn3;
// http://, https://로 url이 시작한다면.
rplcdPttrn1 = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
rplcdTxt = orgnTxt.replace(rplcdPttrn1, '<a href="$1" target="_blank">$1</a>');
console.info('rplcdTxt : ', rplcdTxt);
// http?없이 www로 시작한다면.
rplcdPttrn2 = /(^|[^\/])(www\.[\S]+(\b|$))/gim;
rplcdTxt = rplcdTxt.replace(rplcdPttrn2, '$1<a href="http://$2" target="_blank">$2</a>');
console.info('rplcdTxt : ', rplcdTxt);
// 메일 주소일 경우
rplcdPttrn3 = /(([a-zA-Z0-9\-\_\.])+@[a-zA-Z\_]+?(\.[a-zA-Z]{2,6})+)/gim;
rplcdTxt = rplcdTxt.replace(rplcdPttrn3, '<a href="mailto:$1">$1</a>');
console.info('rplcdTxt : ', rplcdTxt);
return rplcdTxt;
}
728x90
반응형
'Language > JavaScript' 카테고리의 다른 글
[javascript] HTML form to JSON object (0) | 2022.08.08 |
---|---|
[JS] 페이지 리로드 (0) | 2021.06.07 |
windows 10 NVM 과 nodejs 설치하기 (0) | 2020.12.09 |
[JS] 날짜 비교 (0) | 2020.11.11 |
[Modern JS] 동기 처리를 위한 Async Await (0) | 2020.06.14 |