웹사이트 관련 팁들을 모아놓은 곳입니다. 좋은팁 공유 합시다.
  • 웹미니 한줄 전광판 영역 입니다.
글 수 186

13

조회 수 : 4789 신고 : 0

profile
작성자 : title: [ani]깜빡이는 표정빽짱구
포인트 : 56933 | 레벨 : 25
○ 보통 웹폰트를 사용하는 홈페이지에서 한문을 사용시에 <font style=font-family:돋움>金炳允</font> 이렇게 스타일 시트를 지정하죠.
    그렇지 안으면 글씨가 제대로 출력되지 않고 ㅁㅁㅁㅁ 이런식으로 깨져서 나옵니다.
    이걸 위처럼 스타일 시트를 사용하지 안고 그냥 金炳允만 입력시 자동으로 스타일시트를 부쳐주는 소스입니다.


○ 제로보드에서의 적용방법

4.1버젼 또는 4.1pl2에서 적용하는 방법입니다. 다른 버젼에서는 위치가 다를것이니 주의해 주십시요.
제로보드에 보시면, include 디렉토리가 있고, 그 안에 list_check.php 파일이 있습니다.

list_check.php 의 아래 부분을 찾습니다. 3~4번째 라인에 있죠.

if($_list_check_included) return;
$_list_check_included = true;

위 부분 아래 줄에 아래의 한자 변환 함수를 삽입합니다.

/****************************************************************************************
* 한자변환함수  
***************************************************************************************/

if (!function_exists("on_change_hanja")) {
function on_change_hanja($src)
{
$strlen = strlen($src);
$change = "";
$check = 0;
for($i=0;$i<$strlen;$i++)
{
$code = ord($src[$i]);
if($code > 0xC9 $code < 0xFE) //한자
{
if(!$check) {$check=1; $change.="<font face=돋움>"; }
$change.=$src[$i]; $i++; $change.=$src[$i];
continue;
}
else if($check) {$check =0; $change.="</font>";}
if($code < 0xA1) $change.=$src[$i];
else {$change.=$src[$i]; $i++; $change.=$src[$i];}
}
return $change;
}
}
/****************************************************************************************/

그리고, 아래 부분을 찾습니다. 바로 아래에 있죠.

/*********************************************************************************************
* 넘겨지는 데이타에 대한 일괄 정리
********************************************************************************************/

function list_check(&$data,$view_check=0) {
global  $keyword, $sn, $ss, $sc, $setup, $member, $href, $id, $dir, $category_data, $is_admin, $_zbResizeCheck,
$name,$email,$subject, $sort, $prev_no, $no,$homepage, $memo, $hit, $vote, $ip, $comment_num, $sitelink1, $sitelink2,
$file_name1, $file_name2, $file_download1, $file_download2, $file_size1, $file_size2,
$upload_image1, $upload_image2, $category_name, $date, $reg_date, $insert, $icon, $face_image,$number,$loop_number,
$a_file_link1, $a_file_link2, $a_reply, $a_delete, $a_modify, $zbLayer,  $_zbCheckNum,
$_listCheckTime;

$_listCheckTimeStart = getmicrotime();
if($view_check) $setup[only_board]=0;

여기에서...
$_listCheckTimeStart = getmicrotime(); 과 if($view_check) $setup[only_board]=0; 사이에 아래 소스를 넣으세요.

$data[subject] = on_change_hanja($data[subject]); //제목한자변환
$data[memo] = on_change_hanja($data[memo]); //내용한자변환

그럼 이렇게 되겠죠.

$_listCheckTimeStart = getmicrotime();
$data[subject] = on_change_hanja($data[subject]); //제목한자변환
$data[memo] = on_change_hanja($data[memo]); //내용한자변환
if($view_check) $setup[only_board]=0;

이 아랫부분의 내용은 수정하지 않아도 됩니다.




○ 제로보드에서 코멘트에 한자(한문) 적용하기

제로보드 루트에 있는 view.php 수정전 원본소스를 기본으로 하여 289번 ~ 291번 라인 소스입니다.

$_skinTimeStart = getmicrotime();
include $dir."/view_comment.php";
$_skinTime += getmicrotime()-$_skinTimeStart;

위의 소스 바로 윗줄에 즉, 288번째 라인에 아래와 같이 소스를 추가해 주시면 됩니다.

$comment_name=on_change_hanja($comment_name);
$c_memo=on_change_hanja($c_memo);

이렇게 하시면 코멘트의 내용에 한자가 있어도 정상적인 한자로 보여집니다.




○ 제로보드 최근게시물에 한자(한문)사용하기

먼저, 제로보드 루트에 있는 outlogin.php 파일을 열어서 제일 윗부분에 아래의 함수를 추가합니다.

<?
if (!function_exists("on_change_hanja")) {
function on_change_hanja($src)
{
$strlen = strlen($src);
$change = "";
$check = 0;
for($i=0;$i<$strlen;$i++)
{
$code = ord($src[$i]);
if($code > 0xC9 $code < 0xFE) //한자
{
if(!$check) {$check=1; $change.="<font face=돋움>"; }
$change.=$src[$i]; $i++; $change.=$src[$i];
continue;
}
else if($check) {$check =0; $change.="</font>";}
if($code < 0xA1) $change.=$src[$i];
else {$change.=$src[$i]; $i++; $change.=$src[$i];}
}
return $change;
}
}
?>

위 함수를 추가하기 전 원본소스를 기본으로 하여

210번째 라인 : $memo = stripslashes($data[memo]);

바로 밑에 아래 소스를 추가하세요.

$memo = on_change_hanja($memo);

232번째 라인 : $subject = cut_str(stripslashes($data[subject]),$textlen)."</font></b>";

바로 밑에 아래 소스를 추가하세요.

$subject = on_change_hanja($subject );

위와 같이 수정하시면 최근게시물에서 정상적으로 한자사용이 가능합니다.


위는 기본적인 파일을 수정했구요.
나머지 회원정보파일, 쪽지보내기, 현재접속자등....
자체파일과 플러그인등도 이와 같이 수정하시면 됨니다.
나머지는 알아서 하세요. 모든 파일에 적용하기엔 수정할 파일이 너무 만아서...-_-;


출처 : http://pia.cc/ - 폰트피아
profile 글쓴이 빽짱구

단점이 없는 사람은 장점도 거의 없다 - 에이브러햄 링컨

엮인글 :
https://web.webmini.net/webtip/14061/5d5/trackback
소중한 댓글 부탁드립니다.
추천수 10단위당 메달이 1개씩 노출되고, 추천수에 따라 배경색이 변하며, 일정수의 추천수를 받을시 BEST 아이콘이 붙게됩니다.
추천수에 따른 배경색 보기 본문으로 바로가기
  • 추천수 50개이상
  • 추천수 30개이상
  • 추천수 20개이상
  • 추천수 10개이상
  • 추천수 3개이상
닫기

댓글 '1'

환상 (101659)

2009.09.17 22:47:22

어렵네요.. 정말 ㅠ
List of Articles
번호 제목 글쓴이 날짜sort 추천 수 조회 수
106 메뉴를 윈도우버튼처럼하기 title: [ani]깜빡이는 표정빽짱구 2004-04-22 13 2547
105 입력한 주민번호로 나이와 성별 알아내기 title: [ani]깜빡이는 표정빽짱구 2004-04-22 10 6312
104 best of best 클릭해서 윈도우창 최소화 하기 [1] title: [ani]깜빡이는 표정빽짱구 2004-04-22 24 3652
103 년도,월,일,시간 표시하기 title: [ani]깜빡이는 표정빽짱구 2004-04-22 12 3115
102 금주가 이번해에 몇번째 주인지 알려주기 title: [ani]깜빡이는 표정빽짱구 2004-04-22 14 3214
101 이전, 다음 버튼이 있는 달력 title: [ani]깜빡이는 표정빽짱구 2004-04-22 16 3001
100 best of best 프레임 고정시키기 title: [ani]깜빡이는 표정빽짱구 2004-05-02 24 3801
99 best of best 제홈피 메인페이지 테이블모습 [2] title: [ani]깜빡이는 표정빽짱구 2004-05-03 24 3304
98 홈페이지 풀스크린 [1] title: [ani]깜빡이는 표정빽짱구 2004-05-04 12 3137
97 풀윈도우 다른팁 title: [ani]깜빡이는 표정빽짱구 2004-05-04 15 2510
96 best of best 제 community 메뉴에 쓰인 해드파일과 풋파일 [3] title: [ani]깜빡이는 표정빽짱구 2004-06-08 52 4197
95 투명하게 보이기 위한 레이어에 적용 [2] title: [ani]보라색 나비바비인형 2004-06-23 15 3028
94 php 오류문구정리 [1] title: [ani]깜빡이는 표정빽짱구 2004-07-09 10 3053
93 best of best 타겟(target) 이란? [1] title: [ani]깜빡이는 표정빽짱구 2004-07-09 20 2721
92 소스보여주기 title: [ani]깜빡이는 표정빽짱구 2004-07-12 12 2840
91 색깔 보기 [2] title: [ani]깜빡이는 표정빽짱구 2004-07-12 14 2713
90 제홈배너처럼 스크립트 프롬프트 띄우기 title: [ani]깜빡이는 표정빽짱구 2004-07-16 19 3218
89 [펌]개인 컴퓨터로 서버만드는 방법[펌] [5] 조민수 2004-07-27 13 6415
88 자동으로 페이지 넘어가지 title: [ani]깜빡이는 표정빽짱구 2004-07-28 12 2246
87 회원가입시 주민번호 뒷자리 ****** 처리 title: [ani]깜빡이는 표정빽짱구 2004-08-03 19 3853