알짜게시판

채팅방에 이모티콘 달기

길호님께서 올린것과는 다른 방식입니다..^^

현제 그누보드용 채팅에 적용한 상태라 그누보드 위주로 설명합니다.
다른 보드 채팅은 경로만 약간 수정하면 되리라 봅니다.

먼저 chat09_emoticon.zip파일을 압축을 풀어서 emo.php파일과 emoticon폴더를
gnu/gnu_chat폴더에 올립니다.

gnu_chat/skin/각스킨폴더/room.php파일을 열어서 아래와 같이 수정..

입력창 : <input type=text name=test autocomplete=off>
</form> ← 이부분 아래에


<table>
  <tr>
    <td>
      <div align=right>
        <input onclick='showEmoticon()' type=checkbox name=Emoticons value='yes'>
        <img src=./emoticon/i_emoticons.gif align=absmiddle border=0>이모티콘
      </div>
    </td>
  </tr>
  <tr>
    <td><? include "../gnu_chat/emo.php"; ?></td>
  </tr>
<table>

<SCRIPT>
// 자동링크 기능....
.....................................................................
.....................................................................
return str.replace(/___---#Done#Src#---___/g, "");

이 줄 다음에


function emoticon_html(str)
 {
str=str.replace("emtc_001","<img src=http://URL/gnu/gnu_chat/emoticon/1.gif width=18 height=18 border=0>",str);
str=str.replace("emtc_002","<img src=http://URL/gnu/gnu_chat/emoticon/2.gif width=18 height=18 border=0>",str);
...
str=str.replace("emtc_105","<img src=http://URL/gnu/gnu_chat/emoticon/105.gif width=18 height=18 border=0>",str);
return str;
}

아래 채팅 출력 부분 원본

// 채팅 출력부분 
function chattext(str,col)
{ 
<?
  if(file_exists('skin/'.$skinname.'/imoticon'))
  {
  $handle=@opendir('skin/'.$skinname.'/imoticon/.');
  while (($file = @readdir($handle))!==false) 
  { $imoticon=str_replace('.gif','',$file);
    if(strpos($file,'.gif')>1)
    {?>
      str=str.replace("<?=$imoticon?>","<img src='imoticon/<?=$file?>'>");
    <?}
  }
  @closedir($handle); 
  }
?>
  str=sw_autolink(str);

  chatview.document.body.insertAdjacentHTML('beforeEnd', '<font color='+col+'>'+str+'</font><br>');
  chatview.document.body.scrollTop=99999999;
}

원본 끝


수정

// 채팅 출력부분 
function chattext(str,col)
{ 
  str=emoticon_html(str);
  str=sw_autolink(str);

  chatview.document.body.insertAdjacentHTML('beforeEnd', '<font color='+col+'>'+str+'</font><br>');
  chatview.document.body.scrollTop=99999999;
}

수정 끝


이모티콘이 많으면 불러오는데 시간이 약간 걸리뿐만 아니라
이모티콘 약간 깨집니다.. 적절한 개수로 짤라서 사용하세요..^^

    • 저도 제로보드에 적용을 해봤는데 방만들기를 하면 계속해서 깨진방이라고 나옵니다.
      수정은 맞게한것 같은데 뭔가 소스수정이 잘못 되었나 봅니다.
      한번 봐주시겠어요?
      제로보드를 사용하고 있고 주소는 <a href=http://miso.najoy.net target=_blank>http://miso.najoy.net</a> 입니다.
      테스트 아이디 ; test  비밀번호 ; test
      부탁좀 드릴께요.
    • 03-11-11
    • 이모티콘이 깨지는 것은 그진 이모티콘 이미지 경로 문제입니다.
      만약 제로보드라면 아래와 같이 URL경로를 적어주면 해결됩니다..^^
      &lt;img src=http://URL/제로보드 폴더명/길호챗 폴더명/emoticon/104.gif width=18 height=18 border=0&gt;",str)
    • 03-11-11
    • 이미지는 안깨지는데 이모티콘을 선택해서 엔터치면 이모티콘이 안먹어요
    • 03-11-10
    • 저는 채팅에 이미지를 올리면 깨져서 나오는데 왜 그러죠?
    • 03-11-10
    • 수고하셨습니다 :)
    • 03-11-05
    • 오옷 감사합니다. 헐랭이님..
    • 03-11-05
    • 제로보드에서의 사용법은 비슷합니다.
      emo.php파일과 emoticon폴더를 채트 폴더안에 업로드 하시고
      include "../gnu_chat/emo.php"; 되는 이경로를
      include "../챗트폴더이름/emo.php"; 이렇게 하구요.
      이미지경로는
      str=str.replace("emtc_097","&lt;img src=http://URL/gnu/gnu_chat/emoticon/97.gif
      이걸전부
      str=str.replace("emtc_022","&lt;img src=/챗트폴더이름/emoticon/22.gif width=18 height=18 border=0&gt;",str);
      이렇게 수정하세요.^^엄청 노가입니다.

      그다음 &lt;/form&gt; &lt;- 이부분 아래에
      홈박스님 스킨중 00 기준
      여기에 테이블블이 시작되면 이상하게 되버리더군요.^^

      전아래처럼하니까 잘되네요^^
      &lt;/form&gt;
      &lt;TR&gt;
      &lt;TD width=12&gt;&lt;IMG SRC="skin/homebox00/images/homebox_chat_32.gif" HEIGHT=6&gt;&lt;/TD&gt;
      &lt;TD width=54&gt;&lt;IMG SRC="skin/homebox00/images/homebox_chat_33.gif" HEIGHT=6&gt;&lt;/TD&gt;
      &lt;TD width=68 COLSPAN=2&gt;&lt;IMG SRC="skin/homebox00/images/homebox_chat_34.gif" HEIGHT=6&gt;&lt;/TD&gt;
      &lt;TD width=100% background="skin/homebox00/images/homebox_chat_35.gif"&gt;&lt;IMG SRC="" HEIGHT=6&gt;&lt;/TD&gt;
      &lt;TD width=53&gt;&lt;IMG SRC="skin/homebox00/images/homebox_chat_36.gif" HEIGHT=6&gt;&lt;/TD&gt;
      &lt;TD width=16&gt;&lt;IMG SRC="skin/homebox00/images/homebox_chat_37.gif" HEIGHT=6&gt;&lt;/TD&gt;
      &lt;TD width=16&gt;&lt;IMG SRC="skin/homebox00/images/homebox_chat_38.gif" HEIGHT=6&gt;&lt;/TD&gt;
      &lt;TD width=136&gt;&lt;IMG SRC="skin/homebox00/images/homebox_chat_39.gif" HEIGHT=6&gt;&lt;/TD&gt;
      &lt;TD width=13&gt;&lt;IMG SRC="skin/homebox00/images/homebox_chat_40.gif" HEIGHT=6&gt;&lt;/TD&gt;
      &lt;/TR&gt;
      &lt;TABLE width="600" BORDER=0 CELLPADDING=0 CELLSPACING=0 align="center"&gt;&lt;!--이모티콘출력시작--&gt;
      &lt;TR&gt;
      &lt;TD align=center&gt;&lt;div align=right&gt;
            &lt;input onclick=&#039;showEmoticon()&#039; type=checkbox name=Emoticons value=&#039;yes&#039;&gt;&lt;img src=./emoticon/i_emoticons.gif align=absmiddle border=0&gt;이모티콘
            &lt;/div&gt;
      &lt;/TD&gt;
      &lt;/TR&gt;
      &lt;TR&gt;
      &lt;TD align=center&gt;&lt;? include "../kchat3/emo.php"; ?&gt;
      &lt;/TD&gt;
      &lt;/TR&gt;
      &lt;table&gt;&lt;!--이모티콘끝--&gt;
      &lt;/TABLE&gt;

      &lt;OBJECT id="KChat" classid="clsid:86A9E0B2-B22C-4EF9-A29C-7870FAD5C072"
    • 03-11-04
    • 제로보드에서 다는법도 알려주세요 이걸로는 당췌 무지한 저로써는 난감합니다. ㅠ.ㅠ[05]
    • 03-11-04

로그인 후 댓글내용을 입력해주세요

제목 글쓴이 조회 날짜
[파이썬] Python Playwright로 Edge 브라우저 제어하기 4,597 09-12
[델파이] TDirectory.Delete 대신 CMD 으로 폴더 삭제 7,467 09-10
[윈도우] Chrome 및 Edge를 TLS 1.2 모드로 실행 24,673 08-30
[HTML] 애드센스 자동 광고 사용 시 빈 화면이 출력된다면? 114,291 06-20
[윈도우] 브라우저 환경설정 추출 116,035 06-18
[워드프레스] xmlrpc.php 차단으로 보안 강화하기 128,095 06-05
[델파이] 폼이 모니터 한 가운데 있는 경우 자연스럽게 왼쪽으로 이동시키기 133,454 05-26
[윈도우] WSH script registration is not valid. 133,567 05-23
[워드프레스] 제목 블록 기본값을 H5로 변경하는 방법 115,027 05-22
[파이썬] 동영상 특정 영역 모자이크(흐리게) 하기 46,653 04-30
[리눅스] 구글 크롬 콘솔 'Attestation check for Topics on' 에러 원인 & 해결방… 59,731 04-11
[크롬] 개발자 도구(DevTools)에서 붙여넣기 안될때 71,956 03-10
[그누보드] SmartEditor2Skin.html 다운로드 되는 현상 109,980 01-08
[윈도우] 네트워크 탐지 114,012 12-31
[델파이] TrayIcon 이 흐릿하게 보이는 버그? 수정 127,955 12-12
[델파이] 실행 중인 프로세스가 활성 창인지 확인하는 함수 145,272 11-02
[델파이] 메세지 다이어그램(Message Dialog) 에 체크박스(CheckBox) 추가 132,182 10-30
[그누보드] 부트스트랩 테마 예제로 사용중인 main.php 115,504 10-21
[그누보드] 유튜브 스킨 74,856 10-14
[윈도우] TLS 연결 끊김 해결 방법 - Kyber 비활성화 233,077 10-12
[PHP] 검색 로봇 접속시 종료 56,275 10-07
[윈도우] WinDivert 사용중인 어플리케이션 검색 45,263 09-12
[워드프레스] 답글 남기기 메시지 변경 42,739 09-05
[리눅스] PHP-FPM 튜닝을 위한 메모리 계산 41,294 08-29
[윈도우] 아이폰 벨소리 쉽게 추가하기 94,172 06-14
[윈도우] C:\Windows\Installer 폴더 다른 드라이브로 옮기기 104,850 05-29
[윈도우] 작업 표시줄 (기타 시스템 트레이 아이콘) 제거 프로그램 176,641 05-18
[워드프레스] cdn.jsdelivr.net 에서 ssl 인증서 오류 문제 102,156 05-02
[그누보드] cdn.jsdelivr.net 에서 ssl 인증서 오류 문제 97,655 05-02
[PHP] REQUEST 값 받기(application/json 포함) 99,198 04-20
[리눅스] 데몬(systemd service) 작성 및 실행하기 66,213 03-14