알짜게시판

채팅방에 이모티콘 달기

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

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

먼저 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

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

제목 글쓴이 조회 날짜
리눅스 아파치 일반 계정 파일 접근 권한 설정과 mod-ruid2 적용 방법 128 26-04-26
델파이 Delphi IDE 메인 폼 안열림 dproj 설정으로 해결 107 26-04-26
개발팁 VSCode 한국어 설정법, Configure Display Language로 UI 언… 146 26-04-24
기타 RustDesk 자체 서버 구축으로 공용 서버 로그인 문제 해결 265 26-04-16
리눅스 Dante SOCKS5 프록시 서버 구축 및 설정 306 26-04-10
윈도우 윈도우 실행파일(exe) 서비스 등록 자동화 쉽게 하는 방법 - NSSM 423 26-04-05
기타 CLIProxyAPI Windows 설치 가이드 702 26-04-04
워드프레스 그누보드7 데이터를 WordPress WXR로 변환하기 426 26-04-01
기타 Ollama 설치 경로 C드라이브 고정 문제 해결 및 드라이브 변경 방법 418 26-03-31
개발팁 Apache Access Log 기반 도메인별 방문자 카운터 구현 338 26-03-31
윈도우 ZImage AI 이미지 생성 환경 구축 방법 513 26-03-26
윈도우 파일 복사 후 실행 배치파일 - 에러 감지 포함 537 26-03-10
개발팁 네이버 검색 Open API 843 26-02-10
개발팁 네이버 검색광고 키워드 도구 API 검색 1,019 26-02-10
개발팁 MariaDB column_stats 테이블 오류 해결 방법 1,024 25-12-06
개발팁 PHP-FPM 에러 로그 실시간 모니터링 919 25-12-03
윈도우 윈도우11 업데이트 후 네트워크 드라이브 접근 불가 문제 해결 방법 1,674 25-11-24
개발팁 다국어 번역 함수 구현 방법 3,343 25-11-08
워드프레스 "치명적인 오류가 발생했습니다" 디버깅 가이드 14,139 25-10-31
리눅스 Apache 웹 로그 분석하기 – awk와 GoAccess 활용 18,726 25-10-28
길호넷 칼무리 - 외부 명령으로 캡처 자동화하기 1 40,447 25-10-14
윈도우 윈도11 강제업데이트 피하고 윈도10 계속 쓰기 41,883 25-10-12
리눅스 PHP 파일 업로드 용량 늘리기 56,794 25-10-03
개발팁 애드센스 충돌 문제 해결하기 74,778 25-09-20
파이썬 Python Playwright로 Edge 브라우저 제어하기 76,858 25-09-12
델파이 TDirectory.Delete 대신 CMD 으로 폴더 삭제 75,161 25-09-10
윈도우 Chrome 및 Edge를 TLS 1.2 모드로 실행 74,568 25-08-30
개발팁 애드센스 자동 광고 사용 시 빈 화면이 출력된다면? 159,425 25-06-20
윈도우 브라우저 환경설정 추출 146,040 25-06-18
워드프레스 xmlrpc.php 차단으로 보안 강화하기 137,147 25-06-05
델파이 폼이 모니터 한 가운데 있는 경우 자연스럽게 왼쪽으로 이동시키기 134,732 25-05-26
잡학지식주방연구소결혼준비웹프로그래밍성장노트