본문 바로가기

프로그래밍/웹

[php][javascript] 문자열 url 주소에 a 링크 추가 코드.

//php

function autoLink($contents)

{

$pattern = '/(http|https|ftp|mms):\/\/[0-9a-z-]+(\.[_0-9a-z-]+)+(:[0-9]{2,4})?\/?';

$pattern .= '([\.~_0-9a-z-]+\/?)*';

$pattern .= '(\S+\.[_0-9a-z]+)?';

$pattern .= '(\?[_0-9a-z#%&=\-\+]+)*/i';

$replacement = '<a href="\\0" target="_blank">\\0</a>';


return preg_replace($pattern, $replacement, $contents, -1);

}


//자바스크립트,

function collectURL(text){

  var rUrlRegex = /((http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\wㄱ-ㅎㅏ-ㅣ가-힣\;\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?)/g;

  var getUrl = text.match(rUrlRegex);

 

  if(getUrl != "" && getUrl != null){

   if(getUrl.length > 1){

    for(i = 0 ; getUrl.length > i; i++){

     alert(getUrl[i]);

     text = text.replace(getUrl[i],'<a href="'+getUrl[i]+'" target="_blank">'+getUrl[i]+'</a>');

    } 

   }else if(getUrl.length == 1){

    text = text.replace(getUrl,'<a href="'+getUrl+'" target="_blank">'+getUrl+'</a>');

   }

  }

  return text;

 }