가끔 이것저것 쓰다보면 메일주소나 웹주소를 "남기고"싶은 경우가 있다.

개인적인 프로필이라면 그냥 공부해서(?) a 태그로 적용하면 되지만,
많은 사람들의 프로필이라면... 일일이 태그 수정하는 것도 일이다...

그래서(?)... 만들어본 함수.

@ 또는 http:// 를 사용하고, 그 외에는 이름이라는 가정하에 만들어본다.

<div style="background-color:#eeeeee;">
<script>
var nValue=new Array(), eValue=new Array(), hValue=new Array();

function name4() { var ar=arguments, i, nV='', eV='', hV='', npo;
  for (i=0; i<ar.length; i++) {
    if (ar[i].indexOf("@")>=0) eV=ar[i];
    else if (ar[i].indexOf("http://")==0) hV=ar[i];
    else {
      if (nV!='') { npo=nValue.length; nValue[npo]=nV; eValue[npo]=eV; hValue[npo]=hV; }
      nV=ar[i]; eV=''; hV=''; }
    }
  if (nV!='') { npo=nValue.length; nValue[npo]=nV; eValue[npo]=eV; hValue[npo]=hV; }
  }
</script>

<script>
name4('김기웅', 'killofki@yahoo.co.kr', 'http://killofki.cyworld.com');
name4('killofki', 'http://killofki.tistory.com', 'killofki@yahoo.co.kr',
  '아무개');

var i;
for (i=0; i<nValue.length; i++)
  document.write(nValue[i]+(eValue[i]?(' : <a href=mailto:'+eValue[i]+'>'+eValue[i]+'</a>'):'')+(hValue[i]?('<a href='+hValue[i]+' target=_blank>'+hValue[i]+'</a><br>'):''));
</script>
</div>

...



...

대충 이정도...

조금 복잡한 내용이고, 세세한 부분까지 건들지는 않았지만,
이런 식으로 database를 구축한다면 나중에 관리하기도 편할 것이다.

...

위에서 몇개 개선할만한 부분이라면...

1) 기존에 있던 w 함수는 안불러왔다. 그런 함수로 만든다면 "+" 에 대한 부담감은 조금 덜 수 있을 듯...
2) document.write 대신 document.getElementById().innerHTML 로 쓰는것을 권장하고 있다. 나중문제...같은 경우도 있고,...
3) 종류에 따라 미니홈 주소나 블로그 주소...등으로 구별하는 방법도 개발 가능할 것이다... 구별하는 방안을 정한다면...

그 외에... ('09.09.26 추가)

4) 동명이인...에 대한 구별점의 처리가 전혀 설정되어있지 않아서, 같은 이름이 나와도 그냥 다른 이름처럼 취급한다. -.-... 생각지 못했던 부분이넹...
5) 이름검색...을 일일이 조회해야한다... = =... 따로 인덱스 만들어둬야하나...

DoubleVictory killofki@.


Posted by killofki
,